1. 注解实现自动装配
-
JDK 1.5 开始支持注解,Spring 2.5 开始支持注解。
-
使用须知
-
导入约束
-
配置注解的支持(
<context:annotation-config/>
)<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"> <context:annotation-config/> </beans>
-
直接在类属性(或
set
方法)上加@Autowired
使用即可。 -
使用
@Autowired
可以不编写set
方法,前提是此属性存在于 IOC 容器中,通过 byType 方式实现。 -
@Autowired(required = false)
标识的属性值可以为NULL
,相当于@Nullable
-
可以使用
@Qualifier(value = "dog")
配合@Autowired
指定 XML 文件中<bean/>
的装配路径。
-
2. 使用注解开发
-
Spring 4 之后的注解开发,必须导入 aop 包。
-
导入
context
约束,增加注解的支持。 -
常用注解
@Component
: 组件,放在类上,说明这个类被 Spring 管理了。@Repository
: dao 层,将类注册到 Spring 中。@Service
:service 层,将类注册到 Spring 中。@Controller
: Controller 层,将类注册到 Spring 中。@Scope
: 设置 Bean 的作用域,如@Scope("singleton")
设置 Bean 为单例模式。
-
小结
- XML 更加万能,适用于任何场合,维护简单方便。
- 注解 不是自己的类无法使用,维护相对复杂。
- 最佳实践:
- xml 用来管理 bean
- 注解 负责属性注入