利用beans.xml进行简单的Spring应用上下文创建与使用
继上次配置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文件。代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="knight" class="com.spring.kinghts.Knight_guanyu">
<constructor-arg ref="todo"/>
</bean> <bean id="todo" class="com.spring.kinghts.ToDo_guanyu_drink">
</bean>
</beans>
第一个<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
利用beans.xml进行简单的Spring应用上下文创建与使用的更多相关文章
- IoC COntainer Create Javabeans 可以通过读取beans.xml 文件来创建一个应用程序上下文对象 依赖反转
Spring初学快速入门 - Spring教程™ https://www.yiibai.com/spring/spring-tutorial-for-beginners.html# pom <? ...
- 创建一个简单的Spring应用
环境已经安装完成,接下来创建一个简单的Spring应用. 创建Spring应用步骤: 创建一个maven项目 添加spring库依赖 创建Bean类 添加Bean的xml装配文件 创建主类 运行应用程 ...
- 自定义beans.xml文件实现Spring框架
经过一天的补习,学习文件加载,java反射,JDom等知识,到了晚上终于能够搭出一个基于配置文件的简单spring框架实现! 首先我们先看看这个问题: 下面是两副图左边是项目结构图,右边是UML图: ...
- spring框架中beans.xml文件报错XmlBeanDefinitionStoreException
第一次构建spring,实现简单的注入方式,就发生了beans.xml文件报错,报错信息如下图 org.springframework.beans.factory.xml.XmlBeanDefinit ...
- Spring框架配置beans.xml扩展
Spring学习笔记(二) 续Spring 学习笔记(一)之后,对Spring框架XML的操作进行整理 1 什么是IOC(DI) IOC = inversion of control 控制反转 D ...
- Spring框架配置beans.xml
Spring学习笔记(一) 一.Spring 框架 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 ...
- Spring配置文件的加载,及装载多个beans.xml文件
applicationContext.xml 是spring的全局配置文件,用来控制srping的特性 1 手动加载自定义的beans.xml文件 @Test public void testAut ...
- spring入门:beans.xml不提示、别名、创建对象的三种方式
spring的版本是2.5 一.beans.xml文件不提示 Location:spring-framework-2.5.6.SEC01\dist\resources\spring-beans-2.5 ...
- Spring配置文件beans.xml头部配置解释
Spring配置文件beans.xml头部配置解释 - EasonJim - 博客园https://www.cnblogs.com/EasonJim/p/6880329.html
随机推荐
- sql 优化
1.选择最有效率的表名顺序(只在基于规则的优化器中有效): oracle的解析器按照从右到左的顺序处理 from 子句中的表名,from子句中写在最后的表(基础表driving table)将被最先处 ...
- Windows 7 在资源管理器中显示软件快捷方式
该方法是利用资源管理器中储存网络位置的文件夹实现的, 不需要修改注册表. 效果如图: 操作方法: 在资源管理器中打开路径 "%appdata%\Microsoft\Windows\Netwo ...
- Dipole Antenna : 2
Characteristics of dipole antenna. %% % characteristics of dipole antenna % author : Leon % email:ya ...
- TCP/IP协议(二)tcp/ip基础知识
今天凌晨时候看书,突然想到一个问题:怎样做到持续学习?然后得出这样一个结论:放弃不必要的社交,控制欲望,克服懒惰... 然后又有了新的问题:学习效率时高时低,状态不好怎么解决?这也是我最近在思考的问题 ...
- [LeetCode] Wildcard Matching 外卡匹配
Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character. ...
- css一些进入条
http://www.jq22.com/jquery-info5309 http://www.jq22.com/jquery-info10964 http://www.jq22.com/jquery- ...
- 查看mysql语句运行时间的2种方法
网站运行很慢的时候,我就特别起知道为什么这么慢,所以我查啊查,数据库绝对是很重要的一部分,里面运行的sql是绝对不能放过的.平时做项目的时候,我也会注意sql语句的书写,写出一些高效的sql来,所以我 ...
- AngularJS依赖注入
<html> <head> <meta charset="utf-8"> <title>AngularJS 依赖注入</tit ...
- 启动Maven项目启动报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
tomcat在发布项目的时候没有同时发布maven依赖所添加的jar包,你需要设置一下eclipse:项目 -> 属性 -> Deployment Assembly -> Add - ...
- 15 个 Android 通用流行框架大全(转)
1. 缓存 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picas ...