【spring教程之中的一个】创建一个最简单的spring样例
1、首先spring的主要思想,就是依赖注入。简单来说。就是不须要手动new对象,而这些对象由spring容器统一进行管理。
2、样例结构
如上图所看到的,採用的是mavenproject。
2、pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>SpringExample001</groupId><artifactId>SpringExample001</artifactId><version>0.0.1-SNAPSHOT</version><dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.2.5.RELEASE</version> </dependency>
</dependencies>
</project>
3、spring.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" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> <bean id="do" class="com.test.pro.Do"/> </beans>
4、Do.java
package com.test.pro;public class Do {public void speaking(){System.out.println("speaking.......");}
}
5、測试类
package com.test.pro;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubApplicationContext ctx=new ClassPathXmlApplicationContext("spring.xml");Do did=(Do)ctx.getBean("do");did.speaking();}}
6、输出
7、分析
我们能够看到,在核心的spring配置文件里的spring.xml中仅仅有一句话:<bean id="do" class="com.test.pro.Do"/>,这句话指明的是有一个bean文件。名称为do,其类的地址是com.test.pro.Do。
然后就是我们的測试类里面的一段话:
ApplicationContext ctx=new ClassPathXmlApplicationContext("spring.xml");
Do did=(Do)ctx.getBean("do");
did.speaking();
这里表示声明一个上下文类,这个上下文类装载了配置文件,注意,假设这里不是採用mavenproject的话,一定要注意spring.xml的相对地址。假设实在不确定相对地址是什么。能够採用绝对地址的方式。比如:
ApplicationContext ctx=new ClassPathXmlApplicationContext("file:H:/spring.xml");
然后就是利用上下文对象来获得在配置文件里声明过的bean的演示样例,而且能够直接调用。
那么这个bean文件是什么时候实例化的,假设bean的scope是prototype的,则该Bean的实例化是在第一次使用该Bean的时候进行实例化 ,能够參考这篇文章:http://www.iteye.com/problems/93479
转载于:https://www.cnblogs.com/blfbuaa/p/7351086.html
【spring教程之中的一个】创建一个最简单的spring样例相关推荐
- Ubuntu18.04 LTS Melodic ROS 教程:使用URDF创建一个虚拟机器人模型
Ubuntu18.04 LTS Melodic ROS 教程:使用URDF创建一个虚拟机器人模型 Building a Visual Robot Model with URDF from Scratc ...
- java全景图片生成_[Java教程]使用Javascript来创建一个响应式的超酷360度全景图片查看幻灯效果...
[Java教程]使用Javascript来创建一个响应式的超酷360度全景图片查看幻灯效果 0 2015-07-23 18:00:14 360度的全景图片效果常常可以用到给客户做产品展示,今天这里我们 ...
- ACMNO.13求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。 输入 n 输出 和 样例输入 5 样例输出 153
题目描述 求Sn=1!+2!+3!+4!+5!+-+n!之值,其中n是一个数字. 输入 n 输出 和 样例输入 5 样例输出 153 来源/分类 C语言 题目截图: 思路: 首先要想到使用两个for循 ...
- struts2官方 中文教程 系列一:创建一个struts2 web Application
先贴了本帖地址,以免被爬 http://www.cnblogs.com/linghaoxinpian/p/6898779.html 本教程将会通过安装struts2框架来创建一个简单的应用程序. 虽 ...
- ruby on rails_最终的中级Ruby on Rails教程:让我们创建一个完整的应用程序!
ruby on rails 由Domantas G (By Domantas G) There are plenty tutorials online which show how to create ...
- 手动添加linux用户,Linux入门教程:如何手动创建一个Linux用户
想到要创建一个用户的时候,我们马上想到了useradd命令或者在图像下进行建立,但是这样并没有真正的了解linux用户的生成步骤,我们知道在linux下"一切皆文件",那么对于一个 ...
- [Minecraft]基于Forge的1.8.9MOD开发教程——第二讲:创建一个空Mod
在你的src/main/java下新建一个包,我这里是net.csdn.mymod(命名规范:域名倒写+Mod名) 创建一个名为MainClass的类,代码如下.目前不需要看懂,之后我会详细解释: 1 ...
- WPF教程(一)---创建一个WPF程序基础知识
1.前言: 这篇主要讲WPF的开发基础,介绍了如何使用Visual Studio 2019创建一个WPF应用程序. 首先说一下学习WPF的基础知识: 1) 要会一门.NET所支持的编程语言--例如C# ...
- 【原创】一个简单的StreamInsight样例分析:MarketMonitor
MarketMonitor是2009年微软专业开发者大会上StreamInsight小组资深程序经理Torsten Grabs演讲中的第一个StreamInsight Demo.这个Demo演示了如何 ...
最新文章
- Our Proof : Page Scraping : Website Data Extraction : Data Mining Analytics : Connotate.com
- 实时音视频互动系列(上):又拍云UTUN网络详解
- Java并发编程——线程池的使用
- python安装pymssql
- 隐私安全的必答题,网易云信如何解?
- 执行存储过程出现:不是有效的标识符。
- Java学习路线详解
- JS/PHP中,数组与字符串的转换,这次总算是记住了
- [英语]工作邮件中超实用的100句英文
- 第1章 通信网概述作业
- 计算机网络技术基础试卷2,《计算机网络基础考试2》试题与答案
- 使用预计算实时全局光照优化照明-设置场景
- 源码剖析panic与recover,看不懂你打我好了!
- 谷歌大牛Jeff Dean单一作者撰文:深度学习研究的黄金十年
- 违反mysql三范式_违反数据库第三范式引发的一个问题
- router vue 页签文字_vueRouter点击打开新页签
- 硬盘的主流技术,最新的硬盘技术
- 杂谈---2014的第一篇博客
- 儿童玩具和儿童用品美国CPC认证ASTM测试CPSIA标准大合集
- 【软件质量与软件测试 软件质量工程体系】