1.下载spring-framework-3.2.0

完整包下载路径:

https://repo.spring.io/webapp/#/artifacts/browse/tree/Properties/libs-release-local/org/springframework/spring/3.2.0.RELEASE

或者,本Sample只需要四个包,下载路径:

https://files.cnblogs.com/files/xueyuangudiao/Spring_IoC.zip

2.下载Commons Logging

依赖Commons Logging,所以需要下载。

下载路径:

http://commons.apache.org/proper/commons-logging/download_logging.cgi

或者:https://files.cnblogs.com/files/xueyuangudiao/commons-logging-1.2-bin.zip

3.创建普通java项目

4.将下载的jar导入到项目中

5.编写一个model,这个model后面经通过依赖注入的方式来实例化。

 public class User {

     private String userName;
private int age; public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} @Override
public String toString() {
return "User [userName=" + userName + ", age=" + age + "]";
}
}

6.创建xml文件(springTest.xml),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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- id:作为bean的代号,在代码中会用到;class:类名 -->
<bean id="user" class="com.test.model.User">
<!-- User类中的属性名,通过Spring实例化User时,会将value赋值给userName这个属性 -->
<property name="userName" value="李四"></property>
<property name="age" value="21"></property>
</bean> </beans>

7.创建HelloSpring类,其中main函数演示了依赖注入的方法与普通对象实例化方法的对比

 package com.test;

 import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.test.model.User; public class HelloSpring { public static void main(String[] args) { // Spring写法
BeanFactory bf = new ClassPathXmlApplicationContext("springTest.xml");
User user2 = (User) bf.getBean("user");
System.out.println(user2); // 普通写法
User user1 = new User();
user1.setUserName("张三");
user1.setAge(20);
System.out.println(user1); }
}

执行结果:

User [userName=李四, age=21]
User [userName=张三, age=20]

8.整个代码结构

9.完整代码

https://files.cnblogs.com/files/xueyuangudiao/SpringTest2.zip

最新文章

  1. Reactor 模式的简单实现
  2. PHP基础知识之魔术方法
  3. EF6 Power Tools的妙用和问题
  4. memcached启动脚本以及telnet测试
  5. Android学习笔记(四十):Preference的使用
  6. Java - 选择性排序 PHP || Java 代码对比
  7. 【转】Parallels Desktop 11.2.0 破解版 最佳Mac虚拟机软件
  8. jquery 放大图片
  9. 使用 CustomScript 扩展程序自动执行 Linux 虚拟机自定义任务
  10. 分布式Session共享(一):tomcat+redis实现session共享
  11. 使用Curl进行抓取远程内容时url中文编码问题
  12. bootstrap_table_class表格样式实例
  13. VMware 中安装KVM,模块不加载
  14. SpringSecurity项目中如何在多个模块中配置认证信息
  15. centos6.8下LNMP (nginx1.8.0+php5.6.10+mysql5.6.12) - 部署手册
  16. 8.Mysql数据类型选择
  17. Java 线程池 Executor 框架
  18. php,微信公众号,获取用户地理位置 定位 经纬度
  19. LPC43xx SGPIO Experimentation
  20. jquery改变元素上下排列的顺序

热门文章

  1. bootstrap学习笔记(5)
  2. Winfrom Panel Scroll End 的实现
  3. 动态权限&lt;三&gt;华为小米特殊机制
  4. Cisco Packet Tracer中通过集线器组网
  5. Jmeter接口测试(八)cookie设置
  6. 论文阅读 | Formalizing Visualization Design Knowledge as Constraints: Actionable and Extensible Models in Draco
  7. krkr基础篇(一)
  8. OpenSSH技术详解
  9. 2018NOIP爆0记第一弹
  10. Hyperledger Fabric 1.0.1至Hyperledger Fabric 1.0.5所升级的内容及修复的问题