博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring入门实例
阅读量:2496 次
发布时间:2019-05-11

本文共 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/

你可能感兴趣的文章
ubuntu终端一次多条命令方法和区别
查看>>
python之偏函数
查看>>
vnpy学习_06回测结果可视化改进
查看>>
读书笔记_量化交易如何建立自己的算法交易01
查看>>
设计模式03_工厂
查看>>
设计模式04_抽象工厂
查看>>
设计模式05_单例
查看>>
设计模式06_原型
查看>>
设计模式07_建造者
查看>>
设计模式08_适配器
查看>>
设计模式09_代理模式
查看>>
设计模式10_桥接
查看>>
设计模式11_装饰器
查看>>
设计模式12_外观模式
查看>>
设计模式13_享元模式
查看>>
设计模式14_组合结构
查看>>
设计模式15_模板
查看>>
海龟交易法则01_玩风险的交易者
查看>>
CTA策略02_boll
查看>>
vnpy通过jqdatasdk初始化实时数据及历史数据下载
查看>>