1、 基于Annotation的装配:
在Spring中,使用xml文件完全可以实现Bean的装配工作,但如果应用中有很多Bean时,会导致xml配置文件过于臃肿,给后续工作带来维护问题,此时提供了注解技术
@Component:可以使用此注解描述Spring中的Bean,但它是一个泛化概念,仅仅表示一个组件Bean,并且可以作用在任何层次。使用时将该注解直接写在该类上即可。
@Repository:用于将数据访问层(DAO层)的类标识为Spring中的Bean,其功能与Component相同。
@Service:用于业务层(Service层),用于将业务层的类标识为Spring中的Bean,其功能与Component相同。
@Autowired:用于对Bean的属性变量、属性的setter方法及构造方法进行标注,配合对应的注解处理器完成Bean的自动配置工作。默认按照Bean的类型进行装配。
@Resource:与@Autowired作用相同, 区别在于:@Aautowired默认按照Bean类型装配,而@Resource默认按照Bean的实例名称进行装配
@Qualifier:与Autowired配合使用,会将默认的按Bean类型进行装配,修改为按Bean的实例名称进行装配,Bean的实例名称有@Qualifier注解的参数指定。
代码实例:
1、 创建一个工程建包建类
![c08a647aa13b531f87384c6163300f94.png](https://i-blog.csdnimg.cn/blog_migrate/30d8d0bdfc0fd04a3ab4386af0fc312f.jpeg)
2、 编写配置文件
![66fe08d6cc2903e875bc9eaa9434e448.png](https://i-blog.csdnimg.cn/blog_migrate/e2086a092f989700352636de11122874.png)
3、 注解
给DAO层加注解
![b22a15f8357768770766df96e8f6c48c.png](https://i-blog.csdnimg.cn/blog_migrate/fe0d160f30f0c13e69a92072f31dc17e.jpeg)
给Service层加注解:
![2bdd16cde90e42ccda39a9f66cdd42c3.png](https://i-blog.csdnimg.cn/blog_migrate/4e133378105cf2fec93e5f66b3d496ad.jpeg)
4、 编写测试类
![c428adb960222d4989cb5e66303901de.png](https://i-blog.csdnimg.cn/blog_migrate/b645b7ec6dc7386ff5a80ecf67166f04.png)
5、 运行结果
![b7b6a03e6f60f7505d96296e377f5657.png](https://i-blog.csdnimg.cn/blog_migrate/7872eea151dcb143bfcb74dfc4054ef5.jpeg)