在学 Spring 的过程中 , 配置文件慢慢的被注解所替代 , 现在 Spring Boot 更是推荐使用 Java 配置完全来代替配置文件 .
需要使用到的注解有 :
Bean 相关 :
- @Configuration : 写在类上 , 用于标识配置类
- @Bean : 写在方法上 , 声明当前方法返回值是一个 Bean ( 和之前写在配置文件中的 Bean 是等价的 )
- @Value("") : 写在字段上 , 多用于结合 SpEL 表达式进行注入资源
- @ComponentScan("com.xxx.yyy") : 配置在配置类上 , 指定包扫描的位置
属性文件相关 :
- @PropertySource("classpath:com/xxx/yyy/db.properties") : 写在配置类上 , 用于导入某些属性文件
注解事务相关 :
- @EnableAspectAutoProxy : 写在类上 , 用于开启 Spring 对 AspectJ 的支持
环境相关 : (开发和生产)
- @Profile("dev") : 写在方法上 , 用于在不同环境下提供不同的配置 ( 一般是开发环境和生产环境 , 分别是 "dev" 和 "prod" )
多线程相关 :
- @EnableAsync : 写在注解类上
- @Async : 写在执行异步任务的类上或者类中的方法上 , 用以执行异步任务
计划任务 :
- @EnableScheduling : 写在配置类上 , 用以开启对计划任务的支持
- @Scheduled : 写在要执行计划任务的方法上 , 声明这是一个计划任务
写个例子 :
1