@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@Configuration
public class AppConfig {
@Bean
public DataSource dataSource() { /* ... */ }
}
@Bean(name = "myBean")
public MyBean myBean() {
return new MyBean();
}
@Value("${server.port}")
private int port;
@Component
@ConfigurationProperties(prefix = "redis")
public class RedisConfig {
private String host;
private int port;
// Getter/Setter
}
@RestController
@RequestMapping("/api")
public class UserController {
@GetMapping("/users")
public List<User> getUsers() { /* ... */ }
}
@RequestMapping(value = "/user", method = RequestMethod.GET)
@PostMapping("/create")
public ResponseEntity createUser(@RequestBody User user) { /* ... */ }
@GetMapping("/user/{id}")
public User getUser(@PathVariable Long id) { /* ... */ }
@GetMapping("/search")
// http://localhost:8080/search?keyword=xxx
public List<User> search(@RequestParam String keyword) { /* ... */ }
@ResponseBody
@GetMapping("/info")
public User getUserInfo() { /* ... */ }
@Component
public class MyComponent { /* ... */ }
@Service
public class UserService { /* ... */ }
@Repository // @Mapper
public class UserRepository { /* ... */ }
@Autowired //@Resource
private UserService userService;
@Autowired
@Qualifier("mysqlDataSource")
private DataSource dataSource;
@Bean
@Primary
public DataSource primaryDataSource() { /* ... */ }
@Bean
@ConditionalOnProperty(name = "cache.enabled", havingValue = "true")
public CacheService cacheService() { /* ... */ }
@Configuration
@ConditionalOnClass(RedisTemplate.class)
public class RedisAutoConfig { /* ... */ }
@Bean
@ConditionalOnMissingBean
public DataSource defaultDataSource() { /* ... */ }
@Transactional
public void transferMoney() { /* ... */ }
@Scheduled(fixedRate = 5000)
public void refreshCache() { /* ... */ }
@Async
public void asyncProcess() { /* ... */ }
@CrossOrigin(origins = "http://example.com")
@RestController
public class MyController { /* ... */ }
注:更多注解及使用细节可参考(SpringBoot官网文档)