Spring2.5的注入依赖(DI)主要有三种注入方式,即构造器注入、Setter注入和使用注解方式;注入依赖可以分为手工装配和自动装配,spring开发团队建议使用手工装配。
今天主要说说构造器注入
基于构造器的DI通过调用带参数的构造器来实现,每个参数代表着一个依赖。
1. 持久层 ,spring是基于接口编程的,请注意接口
public class StudentDao implements IStudentDao {
public void saveStudent() {
System.out.println("成功保存一个学生信息");
}
}
2. 服务层
public class StudentService implements IStudentService {
private IStudentDao studentDao;
private String id;
public StudentService(IStudentDao studentDao,String id){
this.studentDao = studentDao;
this.id = id;
}
public void saveStudent() {
studentDao.saveStudent();
System.out.print(",ID为:"+id);
}
}
3. spring配置
<bean id="studentDao" class="com.wch.dao.impl.StudentDao"></bean>
<bean id="studentService" class="com.wch.service.impl.StudentService">
<constructor-arg index="0" type="com.wch.dao.IStudentDao" ref="studentDao" />
<constructor-arg index="1" value="123456" type="java.lang.String"></constructor-arg>
</bean>
注:
用'type'
属性来显式指定那些构造参数的类型
index属性来显式指定构造参数的索引,从0开始
4. 经行测试,代码如下
public class TestSpringBuild extends TestCase{
private AbstractApplicationContext ctx = null;
@Before
public void setUp() throws Exception {
//ctx = new ClassPathXmlApplicationContext("bean.xml");
ctx = new FileSystemXmlApplicationContext("classpath:bean.xml");
}
@After
public void tearDown() throws Exception {
ctx.close();
}
@Test public void testBuild(){
StudentService studentService = (StudentService)ctx.getBean("studentService");
studentService.saveStudent();
}
}
分享到:
相关推荐
本篇将详细讲解如何使用构造器注入作为Spring依赖注入的一种方式,并通过一个完整的可运行示例——"SpringIOCTest2"来加深理解。 首先,理解依赖注入的概念。依赖注入允许我们不在类内部创建对象,而是通过外部源...
Spring依赖注入是Spring框架的核心特性之一,它极大地简化了Java应用程序的开发,使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本文将深入探讨Spring依赖注入的底层实现机制。 首先,我们要...
本文将深入探讨Spring中的依赖注入方式,包括构造器注入、设值注入和接口注入。 **一、构造器注入** 构造器注入是通过在类的构造函数中传入依赖对象来实现的。Spring容器在创建对象时,会调用带有相应依赖的构造...
Spring依赖注入是Spring框架的核心特性之一,它使得对象之间的依赖关系得以解耦,增强了代码的可测试性和可维护性。依赖注入(Dependency Injection,简称DI)的理念是,一个对象不应该负责寻找并创建它所依赖的对象...
通过阅读和理解这些源码,你可以更深入地了解Spring依赖注入的工作原理及其在项目中的具体使用。 在进行依赖注入时,Spring使用BeanFactory或ApplicationContext作为容器,负责创建、管理和装配Bean。容器读取配置...
Spring依赖注入(Dependency Injection,简称DI)是Java应用开发中的一个重要概念,它是Spring框架的核心特性之一,用于降低组件之间的耦合度,提高代码的可测试性和可维护性。本篇文章将深入探讨Spring依赖注入的...
在Spring Boot应用中,构造器注入是一种常见的依赖注入方式,但它可能会引发循环依赖的问题。循环依赖是指两个或多个Bean之间形成一个闭环,彼此依赖对方,导致Spring容器在初始化Bean时无法确定创建顺序,从而抛出...
在Spring中,DI主要通过两种方式实现:构造器注入和setter注入。构造器注入是在创建对象时通过构造函数传入依赖,而setter注入则是在对象创建后通过setter方法设置依赖。 当我们使用`@Autowired`注解时,Spring容器...
Java 开发学习(六)----DI 依赖注入之 setter 及构造器注入解析 本文将详细介绍 Java 中的依赖注入(Dependency Injection,简称 DI),特别是 setter 注入和构造器注入两种方式的使用和实现。 一、DI 依赖注入 ...
Spring依赖注入是Spring框架的核心特性之一,它极大地简化了Java应用程序的开发,使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本文将深入探讨Spring依赖注入的概念、工作原理以及如何在实际...
Spring 依赖注入的几种方式 依赖注入(Dependency Injection,...Spring 依赖注入可以通过 Set 注入、构造器注入和注解注入三种方式来实现,它可以将对象之间的耦合关系降到最低,从而提高系统的灵活性和可维护性。
1. **构造器注入**:这是最常见的一种注入方式。通过在类的构造函数中添加参数,Spring容器会根据参数类型匹配并注入相应的bean。例如: ```java public class UserService { private UserDao userDao; public ...
在Spring框架中,DI主要通过构造器注入、setter方法注入和接口注入三种方式实现。 1. **构造器注入**:通过在类的构造器中传入依赖对象来实现。Spring会根据构造器参数类型找到合适的bean并注入。 ```java public ...
其中,IoC和依赖注入(Dependency Injection, DI)是Spring框架最核心的部分之一。 #### 二、IoC容器概述 在传统的Java应用程序中,对象的创建和管理通常由程序员来完成。这种方式会导致代码之间存在高度耦合,难以...
依赖注入的三种主要方式是:setter 方法注入、构造器注入以及字段注入。在本文中,我们将详细讨论前两种注入方式。 1. **使用属性的 setter 方法注入** 这是最常见也是最灵活的注入方式。setter 方法注入通过调用...
setter注入是Spring框架中最常用的依赖注入方式之一,它遵循JavaBean的规范。通过定义无参构造函数,并为每个依赖项提供相应的setter方法,Spring容器在创建Bean后,通过调用setter方法将依赖项注入到Bean中。这种...
本篇主要介绍Spring中的三种注入方式,包括构造器注入、设值注入和接口注入。 **一、构造器注入** 构造器注入是通过构造函数来传递依赖对象的一种方式。当类有多个构造函数时,Spring会使用带有最多参数的构造函数...
DI主要有两种实现方式:setter注入和构造器注入。 首先,我们来理解setter注入。setter注入是通过Spring容器调用对象的setter方法来设置其依赖的对象。这种方式比较灵活,因为可以在运行时改变对象的依赖。例如,...
Spring依赖注入(Dependency Injection,简称DI)是Spring框架的核心特性之一,它允许对象之间的依赖关系在运行时由外部容器管理,而不是由代码内部硬编码。这样可以提高代码的可测试性、可维护性和松耦合性。下面...