注解模式XML文件头
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context //使用注解时配置
http://www.springframework.org/schema/context/spring-context-2.5.xsd"> //使用注解时配置
http://www.springframework.org/schema/context/spring-context-2.5.xsd"> //使用注解时配置
<context:annotation-config/> //开启注解模式 注解中
@Autowired 默认使用 byType装配属性 当发生有多个同类型的bean时使用
@Qualifier指定Bean的名字
示例
:
@Autowired
public void setUserDAO( @Qualifier(value="u")UserDAO userDAO) {
this.userDAO = userDAO;
}
@Autowired(required=false)//参数不是必须的
@Autowired
a,默认按类型装配 by type
b,如果想用byName 使用@Qulifier
c,写在private field(第三种注入形式) 不建议,破坏封装
d,如果写在set方法上 ,@Qualifier需要写在参数上
@Required 表示该属性是必须注入的
@Resource
a,加入 j2ee/common-annotations.jar
b,默认按名称,名称找不到按类型
c,推荐使用
d,如果没有源码则只能写在 XML里面 不能使用注解 (一般不会出现这种情况)
@Component
a,注解表示这是一个资源可以被引用
b,可以指定一个名字 @Component("name")
c,需要在Spring配置文件中开启组件扫描
<context:component-scan base-package
=
"com.bjsxt"/>
@PostConstruct Bean初始化时执行的函数
@PreDestroy Bean销毁时执行的函数
@Scope singleton单例 prototype原型