由于最近的任务是关于IoC配置文件格式的转换,所以需要从Spring的IoC容器开始学起,今天根据网上的介绍搭建了Spring环境,并对其IoC容器进行了初体验。文章中涉及到的软件以及推荐的一本关于Spring IoC容器的电子书,在结尾处会附上我的百度网盘下载地址,以防官网维护或其他浮云情况。下附说明~

1.打开http://www.springsource.org/spring-community-download,如下图所示,点击take me to the download page。

2.然后进入了下载页面,选择最新版本的下载

3.下载完成后解压缩到任意文件夹,里面的目录结构一目了然。

4.打开eclipse,新建java project,右键工程名→Build Path→Configure Build Path,在打开的窗口选择Add External JARs

5.然后在JAR Selection窗口中找到刚才解压的路径,进入libs文件夹,选中spring-beans-3.2.1.RELEASE.jar、spring-context-3.2.1.RELEASE.jar、spring-core-3.2.1.RELEASE.jar、spring-expression-3.2.1.RELEASE.jar,打开之后点击ok添加成功。

6.打开http://commons.apache.org/proper/commons-logging//download_logging.cgi,下载commons-logging-1.1.1-bin.zip,之后解压到任意文件夹,然后再通过第五步的方法将解压后文件夹中的commons-logging-1.1.1.jar引入工程,成功后工程目录结构如下图

7.准备工作完成,开始IoC的初体验,创建如下目录结构

8.各个文件的代码如下

BeanA.java

1 package org.beans;
2
3 public class BeanA {
4     public void say(){
5         System.out.println("welcome");
6     }
7 }

BeanB.java

 1 package org.beans;
 2
 3 public class BeanB {
 4     private BeanA ba ;
 5
 6     public BeanA getBa() {
 7         return ba;
 8     }
 9
10     public void setBa(BeanA ba) {
11         this.ba = ba;
12     }
13
14 }

Start.java

 1 package org.beans;
 2
 3 import org.springframework.context.ApplicationContext;
 4 import org.springframework.context.support.ClassPathXmlApplicationContext;
 5
 6 public class Start {
 7     public static void main(String[] args) {
 8         ApplicationContext ctx = new ClassPathXmlApplicationContext("org/beans/applicationContext.xml");
 9         BeanB bb = (BeanB) ctx.getBean("beanB");
10         bb.getBa().say();
11     }
12 }

applicationContext.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans
 3     xmlns="http://www.springframework.org/schema/beans"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xmlns:p="http://www.springframework.org/schema/p"
 6     xsi:schemaLocation="http://www.springframework.org/schema/beans
 7         http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
 8  <bean id = "beanB" class = "org.beans.BeanB">
 9      <property name = "ba" ref = "beanA"/>
10  </bean>
11  <bean id = "beanA" class = "org.beans.BeanA"/>
12 </beans>

搞定,运行程序后,控制台输出welcome~~

文章涉及的jar包以及Spring IoC容器的介绍电子书下载链接:

http://pan.baidu.com/share/link?shareid=408901&uk=152821134

有不足之处还望路过大神指出,有疑问的地方欢迎讨论~~

转载于:https://www.cnblogs.com/FlameRen/archive/2013/03/04/2943185.html

Spring环境搭建,IoC容器初体验~相关推荐

  1. 从源码深处体验Spring核心技术--IOC容器初体验

    开局经验之谈:可能从这一篇文章开始,小伙伴们都会有点晕车的感觉了,但是这个系列并不是只是介绍下spring表面的一些肤浅的东西,本系列的目的是为了让大家从源码层次深入理解Spring,这也是大家在未来 ...

  2. Web IOC 容器初体验

    我们还是从大家最熟悉的DispatcherServlet 开始,我们最先想到的还是DispatcherServlet 的init()方法.我们发现在DispatherServlet 中并没有找到ini ...

  3. IoC、Spring 环境搭建、Spring 创建对象的三种方式、DI

    二.IoC 中文名称:控制反转 英文名称:(Inversion of Control) 3.I oC 是什么? 3.1 IoC 完成的事情原先由程序员主动通过 new 实例化对象事情,转交给 Spri ...

  4. Docker深入浅出系列 | 容器初体验

    Docker深入浅出系列 | 容器初体验 教程目标 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干 ...

  5. 比Spring简单的IoC容器

    比Spring简单的IoC容器 Spring 虽然比起EJB轻量了许多,但是因为它需要兼容许多不同的类库,导致现在Spring还是相当的庞大的,动不动就上40MB的jar包, 而且想要理解Spring ...

  6. 【微服务】SpringBoot 搭建微服务初体验

    SpringBoot 搭建微服务初体验 前言 Server端程序开发 1.创建Server项目,并添加依赖 2.引入依赖,完善配置文件 3.开发SQL语句 4.开发JavaBean 5.开发DAO接口 ...

  7. spring系列之IOC容器结构

    IOC容器结构 IOC(控制反转): 传统javaSE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象,而Ioc是有专门一个容器来创建这些对象,即由Ioc容器来控制对象的创 ...

  8. 自己搭建IOC容器(C#)(二)实现Ioc容器基本功能

    实现Ioc容器基本的类和功能 实现简单ioc容器的基本方式:通过一个Dictionary字典集合存储不同类型Type之间的对应关系,然后使用System.Activator.CreateInstanc ...

  9. 最新最全面的Spring详解(一)——Spring概述与IOC容器

    前言 本文为 [Spring]Spring概述与IOC容器 相关知识,下边将对Spring概述,IOC容器(包括:IOC概述.配置元数据.容器实例化与使用.Bean的概述.依赖注入 Dependenc ...

最新文章

  1. “噪声对比估计”杂谈:曲径通幽之妙
  2. boost::mpl模块实现erase相关的测试程序
  3. 用asp.net画饼图
  4. java 柱状图 宽度_Java实现 LeetCode 84 柱状图中最大得矩形
  5. TabError- inconsistent use of tabs and spaces in indentation 查验及解决方法
  6. 高级产品经理的思维方式
  7. 06-移动端开发教程-fullpage框架
  8. UTF-8 encode decode 集合
  9. 计算机课题立项申报书范文,课题立项申请书怎么写
  10. c++打开图片查看器并查看图片
  11. 做H5页面用什么软件比较好?
  12. matlab 1 d lookup,matlab中关于lookup table
  13. chapter2 基因组学
  14. 五年了还在原地踏步咋整?技术大佬给你整理了一套切实可行的方法论
  15. 了解汽车贷款全过程,不要掉进车贷“坑”!
  16. 第五章:3ds max UV展开和BP贴图绘制(下)
  17. 科普|AGV自动运输车的不同导航方式以及优缺点
  18. UR机器人使用教程-总结
  19. ROS2机器人笔记20-11-22
  20. 计算机修改人类记忆曲线,遗忘曲线——揭秘人类记忆存储的奥秘

热门文章

  1. 腾讯发布人工智能辅助翻译,致敬人工翻译
  2. 学界 | DeepMind想用IQ题测试AI的抽象思维能力,进展还不错
  3. NASA打算送机器蜜蜂去探索火星上的生命痕迹
  4. 《程序员做饭指南》霸榜 GitHub!不仅有量筒、烧杯,还用上了数学公式?
  5. 吐血整理:手拿几个大厂 Offer 的秘密武器!
  6. 从科幻灵感开始的一场数据存储基础设施实验之旅
  7. 数字货币支付能成为主流吗?
  8. low逼三人组、nb二人组、归并、希尔排序----小结
  9. LINUX系统管理员技术(Admin)-------第三天
  10. What is the purpose for IT Pro in Windows 10 Creators Update