学习Spring5必知必会(4)~使用注解配置、使用java代码配置
● 注意:使用注解并不能完全取代xml配置,比如配置连接池DruidDataSource,我们就不能到这个类中去贴注解。
- 想要实现零配置(完全不使用xml进行配置):javaConfig + 注解
● DI注解:注解配置
一、通过注解自动装配(比起xml配置的对象类型配置ref,
更加推荐使用注解注入
)1、 DI 注解:
@Autowired
、@Resource、@Value- value注解的威力: 结合动态properties配置文件引入值变量 @Value("${service.port}")
★ 注入:
- 常量类型 value Value
- 对象类型 ref Autowired/Resource
(1)在配置文件中添加注解的解析器的配置:
(2)使用注解@Autowired ? □ Autowired 注解寻找 bean 的方式:
? 1) 首先按照依赖对象的类型找,如果找到,就是用 setter 方法或者字段直接注入;
? 2)如果在 Spring 上下文中找到多个匹配的类型,再按照名字去找,如果没有匹配报错;
? 3)可以通过使用 注解@Qualifier("id名字") 来规定依赖对象按照 bean 的 id 和类型的组合方式去找
■ DI注解 Autowired 和 Resource(都需要配置DI注解的解析器):
- Spring官方是使用:Autowired
- javaEE规范:Resource 【依赖:javax.annotation-api.jar】
2、IoC 注解:
(1)在配置文件中添加注解的解析器的配置:
(2)使用
注解@Component
(配置Bean
)
- @Component 组件若是不写value属性值,此时的bean的id默认是类型首字母小写
//
@Component("dataSource")
public class MyDataSource {}
■ bean 组件版型:四个组件的功能是相同的,只是用于标注不同类型的组件。 @Component 泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Repository (持久层)用于标注数据访问组件,即 DAO 组件。
【学习Spring5必知必会(4)~使用注解配置、使用java代码配置】@Service (业务层)用于标注业务层组件。
@Controller (控制层)用于标注控制层组件(如 struts 中的 Ation,SpringMVC 的 Controller)
3、作用域注解、初始化和销毁注解: @Scope、@PostConstruct、@PreDestroy
- 其中初始化和销毁注解【依赖:javax.annotation-api.jar】
二、通过java代码装配 java-config
推荐阅读
- JavaScript|系统学习 TypeScript(四)——变量声明的初步学习
- C++ Primer Plus(开始学习C++)
- Spring|Spring Boot 学习-基础
- 使用Google|使用Google Cloud虚拟机做学习测试
- 爬虫|爬虫逆向学习进阶路线
- 【职业规划】该如何选择职业方向(性能?自动化?测开?,学习选择python、java?)
- Python|爬虫学习日记第六篇(异步爬虫之多进程、线程池和实战项目爬取新发地价格行情)
- Python|爬虫学习日记第四篇(xpath解析)
- 学习|idea使用git
- 机器学习算法系列(十八)-随机森林算法(Random Forest Algorithm)