Spring中bean三种注解方式。
来源:互联网 发布:linux chown r 777 编辑:程序博客网 时间:2024/04/28 09:03
spring2.5提供了基于注解(Annotation-based)的配置,我们可以通过注解的方式来完成注入依赖。在Java代码中可以使用@Resource或者@Autowired注解方式来经行注入。虽然@Resource和@Autowired都可以来完成注入依赖,但它们之间是有区别的。首先来看一下:
a。@Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入;
b。@Autowired默认是按照类型装配注入的,如果想按照名称来转配注入,则需要结合@Qualifier一起使用;
c。@Resource注解是又J2EE提供,而@Autowired是由Spring提供,故减少系统对spring的依赖建议使用
@Resource的方式;
d。 @Resource和@Autowired都可以书写标注在字段或者该字段的setter方法之上
2、使用注解的方式,我们需要修改spring配置文件的头信息,修改部分红色标注,如下
<?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
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">
<context:annotation-config/>
</beans>
3、修改以上配置文件的头信息后,我们就可以在Java代码通过注解方式来注入bean,看下面代码
(1)@Resource
public class StudentService3 implements IStudentService {
//@Resource(name="studentDao")放在此处也是可行的
private IStudentDao studentDao;
private String id;
public void setId(String id) {
this.id = id;
}
@Resource(name="studentDao") //通过此注解完成从spring配置文件中查找名称为studentDao的bean来装配字段studentDao,如果spring配置文件中不存在studentDao名称的bean则转向按照bean类型经行查找
public void setStudentDao(IStudentDao studentDao) {
this.studentDao = studentDao;
}
public void saveStudent() {
studentDao.saveStudent();
System.out.print(",ID为:"+id);
}
}
配置文件添加如下信息
<bean id="studentDao" class="com.wch.dao.impl.StudentDao"></bean>
<bean id="studentService3" class="com.wch.service.impl.StudentService3" />
(2)@Autowired
public class StudentService3 implements IStudentService {
//@Autowired放在此处也是可行的
private IStudentDao studentDao;
private String id;
public void setId(String id) {
this.id = id;
}
@Autowired//通过此注解完成从spring配置文件中查找满足studentDao类型的bean
//@Qualifier("studentDao")则按照名称经行来查找转配的
public void setStudentDao(IStudentDao studentDao) {
this.studentDao = studentDao;
}
public void saveStudent() {
studentDao.saveStudent();
System.out.print(",ID为:"+id);
}
}
配置文件添加如下信息
<bean id="studentDao" class="com.wch.dao.impl.StudentDao"></bean>
<bean id="studentService3" class="com.wch.service.impl.StudentService3" />
4.spring2.5还提供了对受管组件的Classpath扫描,它可以使spring配置文件减少使用<bean></bean>来配置元数据bean
- Spring中bean三种注解方式。
- Spring中bean三种注解方式。
- Spring中bean工厂创建bean的三种方式
- Spring Bean配置方式之三:注解配置
- Spring Bean配置方式之三:注解配置
- spring(三)(基于注解的方式配置bean)
- Spring中实例化Bean的三种方式
- Spring中 三种实例化bean的方式
- Spring中bean的三种使用方式
- Spring中装配bean的三种主要方式
- Spring中创建bean的三种方式
- Spring中bean实例化的三种方式
- Spring中装配bean的三种主要方式
- spring中配置Bean的xml方式和注解方式
- Spring bean 注解方式注入
- spring 注解方式配置Bean
- spring 注解方式配置Bean
- Spring 注解方式管理Bean
- 权限菜单的设计
- Java异步socket
- 深度剖析WinPcap之(十)——数据包的内核过滤(11)
- 正则表达式(解决问题)帖
- semaphore
- Spring中bean三种注解方式。
- index
- 扩展Spring Security-国际化终极配制
- 关于request.getHeader("Referer")的说明
- [转载]GNU binutils使用小结
- 判断是否支持多线程
- 类与对象
- 【转】关于static和extern的用法
- Python当前的默认编码设置setdefaultencoding