Spring的核心机制及容器

Spring的核心机制及容器

ID:36876815

大小:631.50 KB

页数:74页

时间:2019-05-10

Spring的核心机制及容器_第1页
Spring的核心机制及容器_第2页
Spring的核心机制及容器_第3页
Spring的核心机制及容器_第4页
Spring的核心机制及容器_第5页
资源描述:

《Spring的核心机制及容器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第14章Spring的核心机制及容器14.1Spring的核心机制14.2Spring容器14.3Bean中对集合的注入14.4两种后处理器14.1Spring的核心机制14.1.1依赖注入的概念新建一个WebProject,名称为Spring_DI,为其添加Spring核心类库,步骤见13.2节的第2步。创建包“org.interfaces”,在该包中新建Person接口,代码如下:packageorg.interfaces;/**定义Person接口*/publicinterfacePerson{//接口中定义一个吃食物方法publ

2、icvoideatFood();}继续在该包中定义Food接口,代码如下:packageorg.interfaces;/**定义Food接口*/publicinterfaceFood{//在接口中定义一个吃的方法,返回吃的东西publicStringeat();}14.1.1依赖注入的概念创建包“org.interfaces.impl”,在该包中定义Person的实现类Man,代码如下:packageorg.interfaces.impl;importorg.interfaces.Food;importorg.interfaces.Pe

3、rson;/**Person接口的具体实现类*/publicclassManimplementsPerson{//定义Food接口私有属性,面向Food接口编程,而不是具体的实现类privateFoodfood;//构建setter方法,必须要有,后面会讲解为什么publicvoidsetFood(Foodfood){this.food=food;}//实现Person接口eatFood方法publicvoideatFood(){System.out.println(food.eat());}}14.1.1依赖注入的概念定义Food的一

4、个实现类Apple,代码如下:packageorg.interfaces.impl;importorg.interfaces.Food;publicclassAppleimplementsFood{publicStringeat(){return"正在吃苹果...";}}在src下编写Spring的配置文件config.xml,使用Spring的配置文件将Person实例和Food实例组织在一起,配置内容。14.1.1依赖注入的概念下面就可以编写测试类了,代码如下:packageorg.test;importorg.interfaces

5、.Person;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.FileSystemXmlApplicationContext;publicclassTest{publicstaticvoidmain(String[]args){//创建ApplicationContext对象,参数为配置文件放置的位置ApplicationContextcontext=newFileSystemXmlApplic

6、ationContext("/WebRoot/WEB-INF/classes/config.xml");//通过Personbean的id来获取bean实例,面向接口编程,因此此处强制类型转换为接口类型Personp=(Person)context.getBean("man");//直接执行Person的eatFood()方法p.eatFood();}}14.1.1依赖注入的概念运行主程序,输出结果,代码如下:正在吃苹果...在主程序中,调用了Person的eatFood()方法,该方法的方法体内需要使用Food的实例,按照通常的方式,

7、在Person实例的eatFood()方法中,应该这样实现://创建Food实例food=newApple();//获得Food实例的eat方法返回值System.out.println(food.eat());14.1.1依赖注入的概念如果需要改写Food的实现类,或者提供另一个实现类给Person实例使用,Person接口和Man实现类都无须改变,只需提供另一个Food的实现,然后对配置文件进行简单的修改即可。例如,我们现在新建另一个Food的实现类Orange,代码如下:packageorg.interfaces.impl;imp

8、ortorg.interfaces.Food;/**定义Orange类,实现Food接口*/publicclassOrangeimplementsFood{/**实现接口吃的方法*/publicString

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

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

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