Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率。
Spring原始注解主要是替代的配置,为三类:
第一类,替代Bean标签,用于实例化类:
@Component :通用所有类的实例化
* @Repository 用于对DAO实现类进行标注 (持久层)
* @Service 用于对Service实现类进行标注 (业务层)
* @Controller 用于对Controller实现类进行标注 (表现层)
第二类:替代 property 和constructor-arg 标签,用于属性赋值,解决依赖
@Autowired:用于根据类型注入依赖
@Qualifier:用于根据名称注入依赖
二者组合可以精确对变量赋值,防止只用Autowired时,Spring容器内有相同的类型时,出现不知道选用那个的冲突
@Resource :等价于@Autowired+@Qualifier
@Value 注入普通属性
第三类,指定bean对象的创建方式:scope,init-method,destory-method
@Scope("") :设置单例singleton或多例 prototype
@Postconstruct:使用在方法上标注该方法是Bean的初始化方法
@PreDestory:使用在方法上标注该方法是Bean的销毁方法
新注解:完全替代配置文件
@Configuration:指定当前类是一个 Spring 配置类,当创建容器时会从该类上加载注解
@Import(配置类.class):导入外部的配置文件
@ComponentScan:开启包的扫描,作用和在 Spring 的 xml 配置文件中 的
<context:component-scan base-package="com.itheima"/>一样
@Bean:创建一个方法,把返回值存到Spring容器中,给第三方类创建对象
@PropertySource:用于加载.properties 文件中的配置