`
mzhj
  • 浏览: 227158 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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学习:依赖注入的几种方式讨论

    Spring的依赖注入提供了XML、注解和Java配置等多种方式,满足不同场景的需求。自动配置是Spring Boot的一大特色,极大地简化了微服务的开发。理解并熟练掌握这些方式,对于提升Spring应用的开发效率和质量至关重要。...

    spring依赖注入的实现原理

    Spring依赖注入(Dependency Injection,简称DI)是Java应用开发中的一个重要概念,它是Spring框架的核心特性之一,用于降低组件之间的耦合度,提高代码的可测试性和可维护性。本篇文章将深入探讨Spring依赖注入的...

    Spring依赖注入检查.

    Spring依赖注入是Spring框架的核心特性之一,它极大地简化了Java应用程序的开发,使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本文将深入探讨Spring依赖注入的概念、工作原理以及如何在实际...

    spring依赖注入bean

    Spring 框架的核心特性之一就是依赖注入(Dependency Injection,简称 DI),这是一种设计模式,它允许我们控制组件之间的耦合,而不是让组件自行创建它们所依赖的对象。这有助于提高代码的可测试性、可维护性和灵活...

    Spring_依赖注入_面向接口编程_不同加载方式

    本项目以"Spring_依赖注入_面向接口编程_不同加载方式"为主题,旨在帮助初学者理解Spring的核心特性——依赖注入(Dependency Injection,简称DI),以及如何通过面向接口编程来提高代码的可维护性和可扩展性。...

    第三章 Spring4 依赖注入

    Spring4支持注解驱动的依赖注入,如`@Autowired`、`@Qualifier`等,同时也可以通过XML配置文件来定义依赖关系。注解方式更为简洁,但XML配置提供了更大的灵活性,例如处理复杂场景下的依赖注入。 五、使用`@...

    一个简单的spring依赖注入的例子

    在实际开发中,Spring提供了多种方式来处理复杂的依赖关系和配置,如基于接口的依赖注入、基于工厂方法的依赖注入等,这些都是Spring框架的强大之处。通过深入学习和实践,你可以更有效地利用Spring进行企业级应用的...

    Spring 依赖注入

    - **使用注解支持依赖注入**:Spring支持多种注解来简化依赖注入的过程,如`@Autowired`、`@Component`、`@Service`等。 - **使用XML支持依赖注入**:Spring还支持通过XML配置文件来定义依赖注入的规则。这种方式...

    Spring的注入方式详解

    Spring 框架是 Java 开发中非常重要的一个组件,它提供了一种强大的依赖注入(Dependency Injection,简称 DI)机制,使得对象之间的依赖关系可以通过配置文件或者注解来管理,而不是硬编码在类的内部。这有助于提高...

    Spring 学习笔记《依赖注入》源文件

    在Java开发领域,Spring框架是不可或缺的重要组成部分,它以其强大的依赖注入(Dependency Injection,简称DI...在实际项目中,结合使用构造器和setter注入,以及注解驱动的依赖注入,能够构建出高效且灵活的应用程序。

    Spring依赖注入

    Spring依赖注入是Spring框架的核心特性之一,它是一种设计模式,旨在降低组件之间的耦合,提高代码的可测试性和可维护性。依赖注入(Dependency Injection,简称DI)的主要思想是,对象不应该负责查找或创建它所依赖...

    使用xml和annotation实现类似spring依赖注入和自动扫描类的功能

    XML配置是Spring早期版本中主要的依赖注入方式。在XML配置文件中,我们可以定义bean的定义,包括其类名、属性以及与其他bean的关系。例如: ```xml &lt;beans xmlns="http://www.springframework.org/schema/beans" ...

    Spring依赖包和配置文件

    Spring框架是Java开发中不可或缺的一部分,它以其强大的依赖注入(DI)和面向切面编程(AOP)功能闻名。在Spring开发中,依赖包和配置文件是构建应用程序的基础。本篇将详细介绍Spring依赖包和配置文件的相关知识。 ...

    spring使用注解依赖jar

    在Spring中,注解是实现依赖注入的主要方式,如`@Autowired`、`@Qualifier`、`@Resource`等。 1. `@Autowired`注解:这是Spring中最常用的注解,用于自动装配依赖。当我们在类的字段或方法上使用这个注解时,Spring...

    详解 Spring 3.0 基于 Annotation 的依赖注入实现

    在 Spring 框架中,依赖注入...综上所述,Spring 3.0 通过一系列注解提供了方便的依赖注入机制,极大地简化了配置工作,提高了代码的可读性和可维护性。通过注解,开发者可以更加专注于业务逻辑,而非繁琐的配置管理。

    Spring读取配置文件原理(Spring如何依赖注入的)

    Spring框架是Java开发中广泛使用的轻量级框架,它的核心特性之一就是依赖注入(Dependency Injection,简称DI)。本文将深入探讨Spring如何通过读取配置文件实现依赖注入,并讲解相关源码,帮助理解其工作原理。 在...

    Spring_01_入门篇_依赖注入(控制反转)_ANN

    在"Spring_01_入门篇_依赖注入(控制反转)_ANN"的学习过程中,你可以首先了解Spring的基本概念和IoC/DI原理,然后通过注解驱动的配置来实践创建和管理bean。接着,逐步探索三层架构的实现,从编写DAO、Service到...

    详解Spring_3.0基于Annotation的依赖注入实现

    #### Spring 3.0的注解驱动依赖注入 Spring 3.0之前的版本主要依赖XML配置文件来定义和管理Bean之间的依赖关系。这种方式虽然灵活且强大,但在大型项目中维护起来较为复杂。Spring 3.0通过引入一系列新的注解,如`@...

    使用 Spring 2.5 基于注解驱动的 Spring.pdf

    Spring 2.5基于注解驱动的SpringMVC配置方式代表了现代Web应用开发的一个重要趋势——减少XML配置,增强代码的自描述性和可维护性。通过上述核心注解的使用,开发人员能够更快速、高效地构建响应式、可扩展的Web应用...

Global site tag (gtag.js) - Google Analytics