Spring注解
Spring是轻代码重配置的框架,配置比较繁琐,随着项目的扩大,配置会变得非常臃肿,影响开发效率。为了解决这个问题,注解开发成为一种趋势,注解代替XML配置文件可以简化配置,提高开发效率。
1.Spring原始注解
目的: 代替Spring的<Bean>的配置
| 注解 | 说明 |
|---|---|
| @Component | 使用在类上用于实例化Bean |
| @Controller | 使用在Web层类上用于实例化Bean(SpringMVC中会讲到) |
| @Service | 使用在Service层类上用于实例化Bean |
| @Repository | 使用在Dao层类上用于实例化Bean |
| @Autowired | 使用在字段上用于根据类型依赖注入 |
| @Qualifier | 结合@Autowired一起使用用于根据名称进行依赖注入 |
| @Resource | 相当于@Autowired+@Qualifier,按照名称进行注入 |
| @Value | 注入普通属性 |
| @Scope | 标注Bean的作用范围 |
| @PostConstruct | 使用在方法上标注该方法是Bean的初始化方法 |
| @PreDestroy | 使用在方法上标注该方法是Bean的销毁方法 |
| @Transactional | 在需要进行事务控制的类或是方法上开启事务 |
2.Spring后续版本新增注解如下:
| 注解 | 说明 |
|---|---|
| @Configuration | 用于指定当前类是一个 Spring配置类,当创建容器时会从该类上加载注解 |
| @ComponentScan | 用于指定Spring在初始化容器时要扫描的包。作用和在Spring的xml配置文件中的<context:component-scan base-package=“com.qfedu” />一样。 |
| @Bean | 使用在方法上,将该方法的返回值存储到Spring容器中,通常用于管理第三方类(不是自己定义的类)的bean |
| @PropertySource | 用于加载.properties文件中的配置 |
| @Import | 用于导入其他配置类 |
| @MapperScan | 扫描特定包下的mapper |
| @EnableTransactionManagement | 配置事务的注解驱动 |