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

spring2.5学习笔记三----spring的注入依赖之构造器注入

阅读更多

      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();
 }
}

分享到:
评论

相关推荐

    Spring2.5学习笔记

    ### Spring2.5 学习笔记详解 #### 一、Spring 框架简介 Spring 是一个开源的轻量级 Java 开发框架,主要用于简化企业级应用的开发工作。Spring 提供了一系列强大的功能,比如控制反转 (Inversion of Control, IOC)...

    spring2.5学习笔记以及SSH

    Spring 2.5 学习笔记是针对这个经典版本的框架进行深入理解的教程,而SSH则代表了Spring、Struts和Hibernate这三个Java Web开发中最常用的开源框架的整合。这篇笔记详细介绍了如何在项目中使用Spring 2.5以及如何与...

    spring2.5 学习笔记

    【Spring 2.5 学习笔记】 在深入学习Spring 2.5的过程中,我们可以了解到一系列关键的概念和技术。首先,面向抽象编程是Spring的核心理念之一,它鼓励开发者编写可重用且松散耦合的代码,通过接口而非具体实现进行...

    Spring学习笔记(6)----编码剖析Spring依赖注入的原理

    本篇学习笔记将深入剖析Spring依赖注入的原理,通过源码分析帮助我们理解这一核心机制。 首先,依赖注入允许我们解耦组件之间的关系,使得各个组件可以独立地进行开发、测试和维护。在Spring中,DI主要通过两种方式...

    Spring学习笔记(5)----依赖注入的简单实现

    在Spring框架的学习中,依赖注入(Dependency Injection,简称DI)是一个核心概念,它极大地提高了代码的可测试性和可维护性。本篇笔记将探讨Spring如何实现依赖注入,并通过实例进行详细解析。 首先,理解依赖注入...

    Spring学习笔记+学习源码.zip

    这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...

    Spring2.5.6学习笔记-最新

    Spring 框架提供了一个全面的编程模型,并且支持多种开发模式,包括依赖注入(Dependency Injection, DI)、面向切面编程(Aspect Oriented Programming, AOP)、数据访问/集成等。Spring 2.5.6 版本作为早期的一个...

    传智播客Spring2.5.6学习笔记最新整理

    - `dist\spring.jar`:核心库,提供基本的依赖注入功能。 - `lib\jakarta-commons\commons-logging.jar`:日志支持库,用于记录应用运行时的日志信息。 - 使用AOP(Aspect Oriented Programming)功能时,还需额外...

    Spring学习笔记(精华全记录)

    ### Spring学习笔记(精华全记录) #### Spring框架概述 Spring框架源自Rod Johnson的个人项目,最初于2002年末发布。Spring并非一开始就作为一个完整的框架出现,而是从一个项目逐步发展而来。随着项目的成熟,...

    spring指南学习笔记

    标题和描述均提到了“spring指南学习笔记”,这意味着文档聚焦于Spring框架的学习心得与关键概念。Spring是一个开源的Java企业级应用框架,以其强大的依赖注入(Dependency Injection, DI)和面向切面编程(Aspect ...

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

    在Spring框架中,依赖注入主要通过两种方式实现:构造器注入和setter注入。 1. 构造器注入:通过在类的构造函数中传递依赖对象来完成。这种方式强制了所有依赖在对象实例化时就已明确,有利于确保对象的完整性和...

    Spring学习笔记-cqupt

    在本篇 Spring 学习笔记中,我们将探讨 Spring 的入门、优点、组成以及重要的IOC理论。 1. **Spring 简介** Spring 是一个开源的、免费的 Java 框架,它的目标是减少企业级开发的复杂性。它集成了许多现有的技术,...

    Spring学习笔记&源码

    本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...

    Spring的学习笔记

    以下将详细介绍Spring学习笔记中的主要知识点。 **面向抽象编程** 面向抽象编程是一种设计原则,强调在代码中使用接口或抽象类,而不是具体实现类。这使得系统更具有灵活性,易于扩展和维护。在Spring框架中,我们...

    Spring学习笔记.zip

    依赖注入是Spring框架的核心特性之一,它允许开发者在运行时将对象及其依赖关系解耦。通过DI,组件不再直接创建它所依赖的对象,而是由容器负责创建和管理这些对象,并将它们注入到需要的地方。这有助于提高代码的可...

Global site tag (gtag.js) - Google Analytics