本文共 1664 字,大约阅读时间需要 5 分钟。
Spring最核心的概念就是“依赖注入”。所谓依赖注入就是你需要什么对象,Spring容器就帮你实例化这个对象,然后注入到你的应用程序中。这样你就不用自己实例化依赖对象,不但简化了开发,还解耦了各模块的依赖。下面我来展示一个实例,比如Person对象要使用Computer,必须依赖Computer这个对象。使用Spring,使你不用自己new对象,Spring容器会帮你在需要的时候注入Computer这个对象。在Spring里,任何java对象都可以当做bean。
Person类:
package com.ydoing.demo;public class Person { //依赖Computer对象 private Computer computer; //Spring容器会自动注入computer public void setComputer(Computer computer) { this.computer = computer; } public void useComputer() { computer.start(); }}
Computer类:
package com.ydoing.demo;//要注入的beanpublic class Computer { public void start() { System.out.println("computer run"); }}
bean的配置:
测试类:
package com.ydoing.demo;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class test { public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); Person person = ctx.getBean("person", Person.class); person.useComputer(); }}
console输出:
七月 19, 2015 9:25:05 上午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@64fe7a67: startup date [Sun Jul 19 09:25:05 CST 2015]; root of context hierarchy七月 19, 2015 9:25:05 上午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions信息: Loading XML bean definitions from class path resource [beans.xml]computer run
总结:
从以上程序我们看出,没有出现任何new关键字,person对象需要computer对象时,不需要new。Spring会自动注入computer这个bean到person中。转载地址:http://ovhrb.baihongyu.com/