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框架是Java开发中广泛应用的一个轻量级容器,它的核心特性是依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect Oriented Programming,简称AOP)。这两个特性极大地简化了Java应用程序的开发和...
本篇文章将深入探讨Spring4的依赖注入机制,包括其概念、实现方式以及在实际开发中的应用。 一、依赖注入的概念 依赖注入是面向对象设计原则之一,它将对象之间的依赖关系反转,由外部容器负责管理对象及其依赖。...
2. 依赖注入(DI):依赖注入是控制反转的实现方式,通过配置文件或注解将对象之间的依赖关系管理。 3. 面向切面编程(AOP):面向切面编程是 Spring 框架的另一个核心概念,它可以将公共业务集中处理,实现代码的...
在与MyBatis的整合中,Spring主要负责事务管理、依赖注入以及DAO对象的管理,使开发更为简洁和模块化。 在这个依赖包集中,dbcp(Jakarta Commons DBCP)是一个常用的数据源实现,它提供了连接池功能,可以有效地...
Spring 的依赖注入方式有 setter 注入、构造方法注入和接口注入。依赖注入的目标是在代码之外管理程序组建间的依赖关系。 1. Spring 注入方式有 setter 注入、构造方法注入和接口注入。其中,setter 注入和构造方法...
IoC(Inversion of Control)容器通过集中管理依赖注入,提供了一种简化这种管理的方式。 ##### IoC Container的分类 - **高侵入度IoC Container**:这些容器通常要求开发者遵循特定的设计模式或约定,可能需要...
Spring框架的核心特性包括依赖注入(Dependency Injection,DI)、面向切面编程(Aspect-Oriented Programming,AOP)以及声明式事务管理等。 依赖注入是Spring框架的一个关键特性,它允许开发者在运行时将对象之间...
- Spring Core Container:包含了Spring框架的基本组成部分,如IoC容器和依赖注入功能。 - Spring AOP:为面向切面的编程提供支持,允许定义方法拦截器和切点,以分离应用的业务逻辑。 - Spring MVC:提供了构建Web...
在Java中,Spring框架就是一个著名的依赖注入实现,而在JavaScript中,Angular则提供了内置的依赖注入系统。 这个“具有状态管理和内置依赖注入支持的应用框架”很可能是一个结合了这两种功能的高级开发工具,旨在...
除了这两种基本的注入方式外,Spring还支持基于注解的依赖注入,这使得依赖注入的过程更加简洁明了。 AOP(面向切面编程)是Spring框架的另一个重要特性。AOP允许开发者将那些与业务逻辑无关但又需要在多处执行的...
1. 方便解耦:Spring通过依赖注入的方式,可以减少代码之间的耦合度,使得系统更易于维护和扩展。 2. AOP编程支持:通过面向切面编程,开发者可以将横切关注点(比如日志、安全等)从业务逻辑中分离出来,提高代码的...
getter注入通常不被认为是Spring中的依赖注入方式,因为它不是用来设置依赖关系的。 4. **AOP在Spring中的应用** - Spring的AOP主要目标是将通用问题集中解决,如事务管理、日志记录等,从而让核心业务逻辑代码更...
- Spring框架提供了AOP的实现,支持通过setter、构造器、接口等方式进行依赖注入。 2. **事务隔离级别** - 事务隔离级别是由数据库系统实现的,旨在确保并发操作的正确性,防止数据不一致问题,如脏读、不可重读...
这种方式的优点在于,配置简单且符合Spring的依赖注入原则,易于理解和维护。 ### 2. 直接注入`SessionFactory`实例 第二种方式是在DAO类中直接注入`SessionFactory`实例。这种方式不需要使用`...
- Spring支持多种依赖注入方式,包括setter注入、构造注入,但不包括getter注入和接口注入。 - 依赖注入的目标是在代码之外管理组件间的依赖关系,提高代码的灵活性和可测试性。 4. **面向方面编程(AOP)目标**...
- Spring的依赖注入通过setter注入、构造注入和接口注入来实现,但不包括getter注入。DI的主要目标是在代码之外管理组件间的依赖关系,促进松耦合。 - DI并非面向接口编程的同义词,但它通常与之结合使用,以实现...
依赖注入(DI)是实现IoC的方式之一,通过这种方式,Spring容器在运行时自动注入对象的依赖关系。DI有两种注入方式:set方法注入和构造方法注入。 - set方法注入:要求类中提供set方法,容器通过调用set方法将依赖...
解释:Spring 框架提供了三种依赖注入方式:setter 注入、构造注入和接口注入。getter 注入不是 Spring 的依赖注入方式。 4. 在 Spring 框架中,面向方面编程(AOP)的目标在于( )。 正确答案:A.编写程序时...
7. Spring的特性理解:Spring是一个轻量级的JAVA EE框架集合,实现了依赖注入模式,可以实现声明式事务,但它没有提供AOP方式的日志系统,而是可以与其他日志框架结合使用。 8. Hibernate事务管理器配置:在Spring...