标签:
Annotation定位Bean注意点
XML文件beans标签内容,xmlns:context、xsi:schemaLocation属性。少了这两个属性benms配置文件会报错
<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
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<context:annotation-config />
<!-- 指定了需要扫描的类包 -->
<context:component-scan base-package="com.bueryang.dao" />
web.xml文件
ContextLoader监听器、benms配置文件
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext1.xml</param-value>
</context-param>
Annotation主要包括:@Resource/@Autowried/@Qualifier。
@Resource(name="userDaoImpl")
private UserDao userDao1;
在字段上的Annotation,使用xml配置文件中定义的名为“userDaoImpl”的bean进行填充userDao1。
@Autowired(required=false) @Qualifier("userDaoImpl") private UserDao userDao3;
第二种类型的Annotation,Autowired和Qualifier组合在一起使用,Qualifier来设置bean的名称,Autowired来设置bean找不到时的行为,required为true时会抛出异常,required为false时会返回null。
在setter上的Annotation,@Resource 可以不写明name参数,这时Spring会首先按照名字然后按照数据类型的方式去定位bean。
标签:
原文地址:http://www.cnblogs.com/posp/p/4414567.html