Spring 与依赖注入

转载地址: http://wiki.jikexueyuan.com/project/java-web/01-00.html

依赖注入是反转控制的一种。

什么是反转控制?
我们平常写程序,需要什么对象,就在代码里显式地new一个出来然后使用,这是我们自己去控制对象的生成。 而反转控制是让Spring(或者类似的其他工具)帮忙去生成我们需要的对象,也就是说对象的生成的控制权交给Spring了。

当然,Spring需要依据一定的规则去生成对象,这个规则就在我们写的xml配置文件、或者代码中添加的注解之中。 换句话说,我们不要生成对象,但是要去写配置。

据说,反转控制可用于解耦。这个在小型的项目中很难看出来,项目越大越能感受得到。(我是没写过这方面的大的项目,想着xml配置就头疼)

反转控制的实现中应用了大量的反射。

依赖注入
声明依赖关系,Spring将对象A需要的对象B注入到对象A中。

时间: 2024-07-30 23:52:16

Spring 与依赖注入的相关文章

ssh整合-SSH框架中Spring的依赖注入问题

问题描述 SSH框架中Spring的依赖注入问题 我做了一个struts+hibernate3+spring的整合,我applicationContext .xml文件中已经配置了 <bean id=""loginAction"" class=""com.web.LoginAction""><property name=""userDao"" ref="&qu

pring配置+依赖注入-Ehcache的Spring配置依赖注入问题

问题描述 Ehcache的Spring配置依赖注入问题 Spring在依赖注入配置时,注入的对象的类型需要同接收的参数类型相同才能注入成功的. 但是在Ehcache的注入时,我发现类型不匹配,却能注入成功. 小弟愚昧,还请多多指教.具体配置如下: Spring的bean.xml配置如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframew

详析Spring中依赖注入的三种方式_java

前言 平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中.依赖注入的另一种说法是"控制反转",通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做. 在Sprin

spring构造方法依赖注入参数问题

问题描述 spring构造方法依赖注入privateLimitProcessor(Stringname){super(name);}<beanid="limitPro"class="chainofresponsibility.LimitProcessor"><constructor-argname="name"value="123"></constructor-arg></bean&g

Java Spring各种依赖注入注解的区别

Spring对于Bean的依赖注入,支持多种注解方式: @Resource  javax.annotation  JSR250 (Common Annotations for Java)    @Inject  javax.inject  JSR330 (Dependency Injection for Java)    @Autowired  org.springframework.bean.factory  Spring  直观上看起来,@Autowired是Spring提供的注解,其他几个

Spring DI[依赖注入]

依赖注入(Dependency Injection,简称DI)意思是由容器或者框架将被调用类注入给调用对象,以此来降低调用对象和被调用类之间的依赖关系. 依赖注入主要有2种不同的实现形式: 1. 构造函数注入(Constructor Injection) 2. 设值注入(Setter Injection) 1.构造函数注入 通过调用类的构造函数,并将被调用类当做参数传递给构造函数,以此实现注入. example: public class UserImpl implements UserDao

spring ioc,依赖注入的好处

问题描述 最近想好好看下spring,刚看第一个问题,依赖注入的好处.个人只有2个点感觉:1.数据统一由spring容器进行管理,相对于以前数据散落程序各地的数据,维护性更强.2.最大的好处是使程序面向接口编程,如service层不用关系dao层怎么实现,谁来实现,这样便于代码的解耦,维护.希望大家指点,还有什么好处? 解决方案 解决方案二:单例动态代理只需要简单配置解决方案三:没好处,就是加了组装层.把本来需要硬编码的东西,变成了写配置文件(xml).本来一整套的东西把他打散分开来买.解决方案

Spring.NET依赖注入(二) - 对象的注入

1. 抽象注入接口 public interface IDeviceWriter    {        void saveToDevice();    }   2. 接口的具体实现   实现1 public class FloppyWriter : IDeviceWriter    {        public void saveToDevice()         {            Console.WriteLine("储存至软盘-");        }    }  

Spring MVC 挺直腰板儿说:依赖注入,我自个儿来!

研究 Spring MVC 将请求分发到 Spring 依赖注入的类实例 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 一上午时间,碰了 N 个钉子,不断地把钉子拨掉,记录一下选择的工具和方法