博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用beans.xml进行简单的Spring应用上下文创建与使用
阅读量:7079 次
发布时间:2019-06-28

本文共 1765 字,大约阅读时间需要 5 分钟。

继上次配置Spring完成后,我们来创建一个简单的例程来理解Spring中利用beans.xml创建应用上下文的方法。

 

程序路径包为:com.spring.kinghts(kinght单词拼写错误,怕麻烦就没有重构)

首先,我们创建两个接口:Knight(英雄)与ToDo(做什么)。代码如下:

package com.spring.kinghts;public interface Knight {	public void doWhat();}
package com.spring.kinghts;public interface ToDo {	public void toDo();}

接下来,创建两个上述接口的实现类:Knight_guanyu(关羽)与ToDo_guanyu_drink(关羽喝酒)。代码如下:

package com.spring.kinghts;public class Knight_guanyu implements Knight{	private ToDo todo;	public Knight_guanyu(ToDo todo){		this.todo=todo;	}	@Override	public void doWhat() {		todo.toDo();	}}

关羽类的构造器中传入了ToDo接口引用对象,目的是为了实现依赖构造三种方法中其一(构造器依赖),以降低耦合度。

package com.spring.kinghts;public class ToDo_guanyu_drink implements ToDo{	@Override	public void toDo() {		System.out.println("我可以喝酒");	}}

接下来创建beans.xml文件。代码如下:

第一个<bean>中,注入了Knight_guanyu bean,第二个<bean>中,创建ToDo_guanyu_drink bean。在这里,Knight_guanyu bean在构造的时候传入了ToDo_guanyu_drink bean的引用。

最后,创建KnightMain类来加载包含Knight的Spring上下文。代码如下:

package com.spring.kinghts;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class KnightMain {	public static void main(String[] args) throws Exception{		ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");		Knight_guanyu obj=(Knight_guanyu) context.getBean(Knight.class);		obj.doWhat();	}}

ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");作用是加载Spring上下文

Knight_guanyu obj=(Knight_guanyu) context.getBean(Knight.class);作用是获取knight bean
obj.doWhat();作用是使用knight

 

                            热爱分享拒绝拿来主义,博客精神永存——cvrigo

                                2016-11-07 23:24:37
  

 

 

转载于:https://www.cnblogs.com/cvirgo/p/6041113.html

你可能感兴趣的文章
Java 多线程 并发编程
查看>>
PLC M8000 M8001 M8002 M8003
查看>>
javax.servlet.WriteListener
查看>>
转: 学习Javascript闭包(Closure) (阮一峰)
查看>>
Atitit.你这些项目不都是模板吗?不是原创 集成和整合的方式大总结
查看>>
p4c-bm安装
查看>>
前端福利:一套UI框架
查看>>
angularjs UI Libraries
查看>>
配置Google Gmail分类和过滤器
查看>>
Ubuntu 14.04 LTS中怎样安装fcitx中文输入法
查看>>
iphone:UISplitView
查看>>
一种简单的数据库性能测试方法
查看>>
使用 Spring 3 MVC HttpMessageConverter 功能构建 RESTful web 服务
查看>>
滚动页面
查看>>
Android日志打印类LogUtils,能够定位到类名,方法名以及出现错误的行数并保存日志文件...
查看>>
Android 监听 WiFi 开关状态
查看>>
Win7系统中哪些服务可以关闭?
查看>>
linux环境中设置jacoco覆盖率
查看>>
使用 Google Cloud 上的 tf.Transform 对 TensorFlow 管道模式进行预处理
查看>>
跳表在手天下我有之ConcurrentSkipListMap
查看>>