spring 之IOC

spring 在初始化bean的时候,需要注入beans之间的依赖关系。依赖注入(DI)产基本原理是对象之间的依赖关系,它一般只会通过以下几种方式来实现。

构造器的参数、工厂方法的参数,或给由构造函数或者工厂方法创建的对象设置属性。DI 主要有两种注入方式。Setter 和构造器注入。

构造器注入

1 <bean id="impl" class="com.shuanlei.service.UserService">
2         <constructor-arg>
3             <bean class="com.shuanlei.dao.UserDao"></bean>
4         </constructor-arg>
5     </bean>

构造器XML配置

 1 public class UserService {
 2     private UserDao userDao;
 3
 4     public String add(){
 5         userDao.add();
 6         return null;
 7     }
 8
 9     public UserService(UserDao userDao) {
10         super();
11         this.userDao = userDao;
12     }
13
14 }

测试代码

Setter 注入

1 <bean id="stu" class="com.shuanlei.dao.StudentDao"></bean>
2     <bean id="student" class="com.shuanlei.service.StudentService">
3         <property name="studentDao" ref="stu"></property>
4     </bean>

SetterXML配置

 1 public class StudentService {
 2     private StudentDao studentDao;
 3     public String register(){
 4         studentDao.register();
 5         return null;
 6
 7     }
 8     public StudentDao getStudentDao() {
 9         return studentDao;
10     }
11     public void setStudentDao(StudentDao studentDao) {
12         this.studentDao = studentDao;
13     }
14
15 }

测试代码

时间: 2024-10-19 19:04:41

spring 之IOC的相关文章

spring中IOC的简单使用

spring的ioc主要就是依赖注入,有基于构造器的依赖注入还有通过设值注入,这里我只简单的实现设值注入的方法,通过spring的依赖管理,我们可以很方便的了解各层之间的依赖关系,降低了各层之间的耦合,我们可以不用过多的去关注对象的管理和创建,我们只需要去bean工厂申请即可,这样我们更多的注意力就可以放到真正的代码实现,而不用去关心代码的创建和销毁.,接下来时简单的设值注入. 我们先简单的去创建一个学生类和老师类 public class Student { public void outhi

Spring之IOC容器注入

上一篇做了IOC和AOP的原理介绍,这一篇主要讲解IOC的注入.不过我依然困惑一个问题: 一 : 依赖注入(DI)中有三种注入方式,那Spring中到底实现了几种方式?也是三种? IOC在很多框架中都有实现,并不是Spring特有的,之前说过IOC主要包含DL(Dependency Lookup)和DI(Dependency Injection),也就是说实现IOC的技术有很多,但是主要包含DI和DL,但是相对而言,DI应用范围比较广泛,我想这也是为什么Martin Fowler将控制反转用依赖

Spring的Ioc

引用:http://www.cnblogs.com/xdp-gacl/p/4249939.html 学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解. 一.分享Iteye的开涛对Ioc的精彩讲解 首先要分享的是Iteye的开涛这位技术牛人对Spring框

一点一点学架构(三)——Spring.NET IOC

IOC背景介绍 传统的实现: 由程序内部代码来控制类与类之间的关系(如:在一个具体的类中,调用另一个类的方法). 使用new关键字来实现两个类之间关系的组合. 这种实现方式会造成类之间耦合. IOC的实现: 它将类间关系从程序内部提到外部容器,也就是说由容器在运行期将类间的某种依赖关系动态注入类中. 对象A依赖于对象B,当对象 A需要用到对象B的时候,IOC容器就会立即创建一个对象B送给对象A. IOC容器就是一个对象制造工厂,你需要什么,它会给你送去,你直接使用就行了,而再也不用去关心你所用的

聊聊spring的ioc

平时我们老说的控制反转依赖注入是什么东西?其实说白了就是一个松紧耦合的问题,咱们可以想一想,一个javabean里面可能会有很多属性比如像下面的代码: public class KnightOfTheRoundTable implements Knight { private String name; private Quest quest; public KnightOfTheRoundTable(String name) { this.name = name; } public Object

spring的IOC和AOP详细讲解

1.解释spring的ioc? 几种注入依赖的方式?spring的优点? IOC你就认为他是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是有这个IOC容器进行产生,同时,要是产生的是单例的bean,他还可以给管理bean的生命周期! spring的IOC有三种注入方式 : 第一是根据属性注入 也叫set方法注入: 第二种是根据构造方法进行注入: 第三种是根据注解进行注入,这种方式我认为比较好,方便,要是bean多的话,使用前两种方式会使得配置文件过于臃肿. Spri

Spring之IOC容器加载初始化的方式

引言 我们知道IOC容器时Spring的核心,可是如果我们要依赖IOC容器对我们的Bean进行管理,那么我们就需要告诉IOC容易他需要管理哪些Bean而且这些Bean有什么要求,这些工作就是通过通过配置文件告诉Spring 的IOC容器.在我们的完成这些配置文件以后,如果IOC容易要实现对这些Bean的管理,除了资源的定位还有一个很重要的一步就是完成IOC加载初始化,也就是配置文件的载入过程.完成IOC容器加载初始化的方式只要有三种,第一种就是通过File文件加载,第二种是通过Classpath

Spring 实践 -IoC

Spring 实践 Spring简单介绍 Spring是分层的JavaSE/EE Full-Stack轻量级开源框架.以IoC(Inverse of Control 控制反转)和AOP(Aspect Oriented Programming 面向切面编程)为内核, 代替EJB的臃肿/低效/脱离现实. 主页http://spring.io/ IoC与DI IOC: 即控制反转, 解决程序对象紧密耦合问题(方式: 工厂+反射+配置文件), 将程序中原来构造对象的操作,交给IoC容器, 当程序真正须要

深入理解Spring的IOC容器

IOC概述 IOC是Spring容器的内核,AOP.声明式事务等功能都依赖于此功能,它涉及代码解耦.设计模式.代码优化等问题的考量,我们将通过以下三个方面来深入理解IOC: IoC的初步理解 IoC的注入类型 构造器注入:通过调用类的构造函数,将接口实现的类通过构造函数变量传入. 属性注入:通过setter方法完成调用类所需依赖的注入,更加灵活方便. 接口注入:将调用类所有依赖注入的方法抽取到一个接口中,调用类通过实现该接口提供相应的注入方法. IoC的注入方式 Spring最为一个容器,通过配

Spring核心技术IoC容器(八)

本文针对自动装载的一些注解进行描述. 基于注解的容器配置 @Required注解 @Required注解需要应用到Bean的属性的setter方法上面,如下面的例子: public class SimpleMovieLister { private MovieFinder movieFinder; @Required public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder; } //