spring的使用很简单,接下来就来看一下spring的搭建步骤
一、新建一个java项目,结构如下:
二、导入相关的jar包
jar包从spring框架的压缩文件中可以获取,spring框架压缩文件下载步骤可以参见《Spring官网下载的步骤》
我下载的是4.3.10版本,
压缩包解压之后,找到这个地址:spring-framework-4.3.10.RELEASE-dist\spring-framework-4.3.10.RELEASE\libs
里面是需要的jar包,从中将如下jar包,拷贝出来,放入项目中,
其中有一个commons-logging-1.1.3.jar包是spring中没有的,这个jar包可以到struts2的lib中找到,如图:
三、新建实体类Hello,代码:
package com.myspring.bean;
public class Hello {
private String name;
public void setName(String name) {
this.name = name;
}
public void show() {
System.out.println("hello," + name);
}
}
四、新建xml文件,名称为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就是java对象 , 由spring容器创建和管理 -->
<bean name="hello" class="com.myspring.bean.Hello">
<property name="name" value="张三" />
</bean>
</beans>
其中,beans.xml文件中的beans 头信息,可以从spring框架的文档中找到,步骤如下:
1)找到文档地址:spring-framework-4.3.10.RELEASE-dist\spring-framework-4.3.10.RELEASE\docs\spring-framework-reference\html
2)在浏览器中打开index.html文件,从目录中找到Instantiating a container,点击进入,如图
进入后可以看到文档中有例子,
The following example shows the service layer objects (services.xml)
configuration file:
拷贝到beans.xml中即可,剩下的bean标签就是对应的java实体类对象。
五、编写测试代码
package com.myspring.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.myspring.bean.Hello;
public class Test {
public static void main(String[] args) {
//解析beans.xml文件,生成管理相应的bean对象
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml") ;
Hello hello = (Hello) context.getBean("hello") ;
hello.show();
}
}
运行后,控制台打印信息
思考?
1、Hello对象是谁创建的?
答:Hello对象是由Spring容器创建的。
2、Hello对象属性是怎么设置的?
答:Hello对象属性是由Spring容器来设置的。
以上两个过程加起来就叫 控制反转
1)控制的内容:指谁来控制对象的创建。
传统的应用程序,对象的创建是由程序本身来控制;
使用spring以后,是由spring来创建对象的。
控制(指谁来控制)
2)反转:正转指程序来创建对象;反转指程序本身不去创建对象,而变为被动的接收对象。
反转(指谁来创建)
总结:以前程序本身创建对象,现在程序被动接收由spring容器创建的对象。