Spring实例入门

Spring实例入门

ID:39468357

大小:72.50 KB

页数:5页

时间:2019-07-04

Spring实例入门_第1页
Spring实例入门_第2页
Spring实例入门_第3页
Spring实例入门_第4页
Spring实例入门_第5页
资源描述:

《Spring实例入门》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Spring实例入门本文结合实例理解解容器,DI,IOC,耦合,解耦等Spring所涉及的概念,同时了解Spring的最基本也是最核心的使用方法。1.Spring容器Spring容器负责对象的实例化,对象生命周期的管理,被Spring管理的对象称之为Bean。例如有Soldier类需要交由Spring容器管理,我们先编写类packagecom.hb;publicclassSoldier{privateStringname;publicStringgetName(){returnname;}publicvoidsetName(Stringname)

2、{this.name=name;}}在Spring配置文件中添加如下配置初始化Spring容器publicclassTest{publicstaticvoidmain(String[]args){ApplicationContextcontext=newClassPathXmlApplicationContext("applicationContext.xml");}}从Spring容器中取得对象实例Soldiers1=(Soldier)context.getBe

3、an("s1");Spring默认使用单例的方式创建对象。可以通过修改的配置改变成其它创建方式。这个属性为Scope,称之为作用域或生命周期,它的值为singleton(单例,默认值),prototype(每次产生一个新的实例)等。2.注入方式有setter注入,构造注入方式,接口注入(不需掌握)。建议多使用Setter注入方式。Setter注入:Soldier类中有一个属性name,如何在创建Soldier的时候使n

4、ame的值变为”RANBO”?配置如下:这样创建的Soldier对象的name属性就有值了,测试代码:publicstaticvoidmain(String[]args){ApplicationContextcontext=newClassPathXmlApplicationContext("applicationContext.xml");Soldiers1=(Soldier)context.

5、getBean("s1");System.out.println(s1.getName());}构造注入:我们先修改下Soldier类,给它添加一个构造方法:packagecom.hb;publicclassSoldier{privateStringname;publicSoldier(Stringname){this.name=name;}publicStringgetName(){returnname;}}配置如下:

6、>测试结果同上。1.依赖当A对象使用了B对象的方法,A对B产生依赖,称之为A依赖B。下面的例子中Soldier类依赖HandGun类。packagecom.hb;/***士兵类*/publicclassSoldier{/***打仗*/publicvoidfight(){HandGunhandGun=newHandGun();handGun.killEnemy();}}packagecom.hb;/***手枪类*/publicclassHandGun{/***手枪杀敌*/publicvoidkill

7、Enemy(){System.out.println("手枪杀敌");}}当HandGun发生变化时,必然导致Soldier必须做相应修改,同时,当Soldier需要使用OtherGun时也必须重新编写代码,导致代码重用度不高。当对象之间的依赖关系很强时(耦合),会使程序代码死板,不利于后期的维护和扩展。降低对象之间的依赖关系称之为解耦。Spring能够很好的解决这一问题。1.控制反转(InversionofControl,简称IOC)和依赖注入(DependenceInject简称DI)我们运用Spring的setter注入方式解决HandGu

8、n和Soldier的耦合问题。修改Soldier的代码,将HandGun定义为Soldier的属性并提供setter方法:package

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。