`

spring依赖注入的集中方式

阅读更多

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依赖注入 AOP.rar

    Spring框架是Java开发中广泛应用的一个轻量级容器,它的核心特性是依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect Oriented Programming,简称AOP)。这两个特性极大地简化了Java应用程序的开发和...

    第三章 Spring4 依赖注入

    本篇文章将深入探讨Spring4的依赖注入机制,包括其概念、实现方式以及在实际开发中的应用。 一、依赖注入的概念 依赖注入是面向对象设计原则之一,它将对象之间的依赖关系反转,由外部容器负责管理对象及其依赖。...

    spring 控制反转和依赖注入.docx

    2. 依赖注入(DI):依赖注入是控制反转的实现方式,通过配置文件或注解将对象之间的依赖关系管理。 3. 面向切面编程(AOP):面向切面编程是 Spring 框架的另一个核心概念,它可以将公共业务集中处理,实现代码的...

    mybatis与spring整合依赖包集

    在与MyBatis的整合中,Spring主要负责事务管理、依赖注入以及DAO对象的管理,使开发更为简洁和模块化。 在这个依赖包集中,dbcp(Jakarta Commons DBCP)是一个常用的数据源实现,它提供了连接池功能,可以有效地...

    spring试题(含答案)

    Spring 的依赖注入方式有 setter 注入、构造方法注入和接口注入。依赖注入的目标是在代码之外管理程序组建间的依赖关系。 1. Spring 注入方式有 setter 注入、构造方法注入和接口注入。其中,setter 注入和构造方法...

    spring框架依赖

    Spring框架的核心特性包括依赖注入(Dependency Injection,DI)、面向切面编程(Aspect-Oriented Programming,AOP)以及声明式事务管理等。 依赖注入是Spring框架的一个关键特性,它允许开发者在运行时将对象之间...

    Spring系列面试题129道(附答案解析)

    - Spring Core Container:包含了Spring框架的基本组成部分,如IoC容器和依赖注入功能。 - Spring AOP:为面向切面的编程提供支持,允许定义方法拦截器和切点,以分离应用的业务逻辑。 - Spring MVC:提供了构建Web...

    具有状态管理和内置依赖注入支持的应用程序框架.zip

    在Java中,Spring框架就是一个著名的依赖注入实现,而在JavaScript中,Angular则提供了内置的依赖注入系统。 这个“具有状态管理和内置依赖注入支持的应用框架”很可能是一个结合了这两种功能的高级开发工具,旨在...

    Spring框架原理及详细搭建步骤

    除了这两种基本的注入方式外,Spring还支持基于注解的依赖注入,这使得依赖注入的过程更加简洁明了。 AOP(面向切面编程)是Spring框架的另一个重要特性。AOP允许开发者将那些与业务逻辑无关但又需要在多处执行的...

    java框架-Spring2复习题.doc

    getter注入通常不被认为是Spring中的依赖注入方式,因为它不是用来设置依赖关系的。 4. **AOP在Spring中的应用** - Spring的AOP主要目标是将通用问题集中解决,如事务管理、日志记录等,从而让核心业务逻辑代码更...

    Spring5.pdf

    1. 方便解耦:Spring通过依赖注入的方式,可以减少代码之间的耦合度,使得系统更易于维护和扩展。 2. AOP编程支持:通过面向切面编程,开发者可以将横切关注点(比如日志、安全等)从业务逻辑中分离出来,提高代码的...

    java框架-Spring2复习题.pdf

    - Spring框架提供了AOP的实现,支持通过setter、构造器、接口等方式进行依赖注入。 2. **事务隔离级别** - 事务隔离级别是由数据库系统实现的,旨在确保并发操作的正确性,防止数据不一致问题,如脏读、不可重读...

    java框架-Spring2复习题知识.pdf

    - Spring支持多种依赖注入方式,包括setter注入、构造注入,但不包括getter注入和接口注入。 - 依赖注入的目标是在代码之外管理组件间的依赖关系,提高代码的灵活性和可测试性。 4. **面向方面编程(AOP)目标**...

    java框架-Spring2复习题.docx

    - Spring的依赖注入通过setter注入、构造注入和接口注入来实现,但不包括getter注入。DI的主要目标是在代码之外管理组件间的依赖关系,促进松耦合。 - DI并非面向接口编程的同义词,但它通常与之结合使用,以实现...

    hibernate注入的三种方式

    这种方式的优点在于,配置简单且符合Spring的依赖注入原则,易于理解和维护。 ### 2. 直接注入`SessionFactory`实例 第二种方式是在DAO类中直接注入`SessionFactory`实例。这种方式不需要使用`...

    Spring、SpringMVC入门及整合JDBC、Mybatis

    依赖注入(DI)是实现IoC的方式之一,通过这种方式,Spring容器在运行时自动注入对象的依赖关系。DI有两种注入方式:set方法注入和构造方法注入。 - set方法注入:要求类中提供set方法,容器通过调用set方法将依赖...

    精品专题(2021-2022年收藏)java框架Spring2复习题.docx

    解释:Spring 框架提供了三种依赖注入方式:setter 注入、构造注入和接口注入。getter 注入不是 Spring 的依赖注入方式。 4. 在 Spring 框架中,面向方面编程(AOP)的目标在于( )。 正确答案:A.编写程序时...

    Spring考试试卷(有答案).docx

    7. Spring的特性理解:Spring是一个轻量级的JAVA EE框架集合,实现了依赖注入模式,可以实现声明式事务,但它没有提供AOP方式的日志系统,而是可以与其他日志框架结合使用。 8. Hibernate事务管理器配置:在Spring...

Global site tag (gtag.js) - Google Analytics