1.在xml的spring配置中注册(当然也可以只注册单个bean):
<?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:component-scan base-package="com.henry.POJO"/>
<context:annotation-config/>
</beans>
- 如果你只写了
<context:annotation-config/>
,你还需要在xml中完成bean的配置<bean id ="..." class>
- 加上
<context:component-scan base-package="..."/>
则可以自动扫描类路径下面的组件:@Component、@Service、@Controller、@Repository
注解的类,并把这些类纳入进Spring容器中管理。并且可以省略掉<context:annotation-config/>
,因为<context:component-scan />
隐式注册了多个注解解析处理器 - 此外,
<context:component-scan />
还包括了两个子标签context:include-filter和context:exclude-filter。因为如果按默认情况直接对包进行扫描,把所有匹配的组件都注册为bean,粒度太大。 - filter标签在Spring3有五个type,如下:
Spring 2.0引入了通过@Required注释强制执行必需属性的可能性。
Spring 2.5使遵循相同的通用方法来驱动Spring的依赖注入成为可能。本质上,@Autowired注释提供的功能与自动装配协作器中所述的功能相同,但具有更细粒度的控制和更广泛的适用性。
Spring 2.5还添加了对JSR-250批注(例如 @PostConstruct和)的支持@PreDestroy。
Spring 3.0增加了对javax.inject包中包含的JSR-330(Java依赖注入)注释的支持,例如@Inject 和@Named