Spring @Autowired注解与自动装配
第十三讲:用@Autowired注解与自动装配
@Autowired : 默认按类型装配
@Autowired @Qualifier(“bean的名字”) :改为按名称装配
@Autowired(required=ture) :默认为true ,表示这个类型必须注入
????????????????????????????????????????? 如果为false ,表示如果找不到这个对象,把这个对象设置为 null
自动装配例子:
<bean id="userService" autowire="byType">
不提倡这样的方式。
第十四讲:让spring自动扫描和管理
通过classpath自动扫描方式把组件纳入spring容器中管理。
引入 context:命名空间
打开组件扫描的一个配置项:
<context:component-scan base-package="" />?? //base-package我要扫描哪个包及其子包下面的类
????????????????????????????????????????
Spring2.5 为我们引入了组件自动扫描机制,他可以在类路径下寻找标注了@Components 、 @Service 、 @Controller 、 @Repository注解的类,并把这些类纳入进Spring容器中管理。和配置bean节点作用是一样的。
1 @Service用于标注业务层组件
2 @Controller 标注控制层组件
3 @Repository 标注数据访问组件,即DAO
4 @Components 泛指组件,当组件不好归类的时候,可以用这个注解
默认的bean名称为类名的第一个字母变小写。 也可以改名 @Service(“改过后的bean名”)
还可以改: @Service(“改过后的bean名”) @Scope(“prototype”)?? 每次都返回一个新的实例
在public void init() 方法前打上@PostConstruct注解可以进行初始化。
在public void destroy() 方法前打上@PreDestroy注解可以进行销毁。