Spring初试
什么是Spring
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
由于Spring框架属于容器性质的,容器装什么对象就有什么功能,所以可以是一站式,不仅不排斥其他的框架,还能帮其他的框架管理对象
Spring搭建
导包
首先只需要导入6个包,分别是
com.springsource.org.apache.commons.logging-1.1.1.jar com.springsource.org.apache.log4j-1.2.15.jar spring-beans-4.2.4.RELEASE.jar spring-context-4.2.4.RELEASE.jar spring-core-4.2.4.RELEASE.jar spring-expression-4.2.4.RELEASE.jar
创建一个javaBean对象
package com.jinxin.spring;
public class User {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
在src下创建applicationContext.xml文件
在applicationContext.xml中beans根目录并导入约束
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://www.springframework.org/schema/beans" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd "> 5 6 </beans>
将刚刚创建的User交给Spring容器管理
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://www.springframework.org/schema/beans" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd "> 5 6 <!-- 将User对象交给容器 --> 7 <bean name="user" class="com.jinxin.spring.User"></bean> 8 </beans>
测试
新建TestSpring类进行测试
package com.jinxin.spring;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestSpring {
@Test
public void test() {
// 创建容器对象
ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
// 向容器要User对象
User user = (User) ac.getBean("user"); // 在配置文件中bean标签的name属性
// 打印User对象
System.out.println(user);
}
}
IOC跟DI
IOC:Inverse of Control 控制反转
将我们创建对象的方式反转
以前对象的创建是由我们开发人员自己维护。包括依赖关系也是自己注入
使用Spring之后,对象的创建以及依赖关系可以由spring完成创建以及注入
控制反转就是反转了对象的创建方式,从我们自己创建反转给了程序(spring)
DI:dependency Injection 依赖注入
实现IOC思想需要DI支持
注入方式:
- set方法注入
- 构造方法注入
- 字段注入
注入类型:
- 值类型注入:8大基本数据类型
- 引用类型注入:将依赖对象注入
BeanFactory&ApplicationContext
BeanFactory接口
Sprint最原始的接口,针对接口实现类功能较为单一。
BeanFactory接口对应的实现类的容器,特点是每次在获得对象时,才会创建
ApplicationContext接口
每次容器启动时就会创建容器中配置的所有对象,提供更多功能
在加载xml配置文件的时候有两种方式,分别是从类路径加载和从绝对路径加载
从类路径下加载配置文件 ClassPathXmlApplicationContext
从绝对路径下加载配置文件 FileSystemXmlApplicationContext (了解)
结论:在web开发中,使用ApplicationContext,在资源匮乏的环境中使用BeanFactory

浙公网安备 33010602011771号