一、Spring介绍
- Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。 Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO 编程模型来促进良好的编程实践。
1.1 三层架构中Spring的位置
- Spring负责管理项目中的所有对象
- 可以将Spring看做是项目中对象的管家
1.2 spring一站式框架
- spring框架属于容器性质,容器中装什么对象就有什么功能,不仅不排斥其他框架,还能帮助其他框架管理对象。
- aop支持
- ioc思想
spring jdbc
junit
测试支持
二、Spring搭建
2.1 导包
- 框架模块结构
要导的包(4+2)
4个包(spring解压后libs)
spring-beans-4.3.9.RELEASE.jar
spring-context-4.3.9.RELEASE.jar
spring-core-4.3.9.RELEASE.jar
spring-expression-4.3.9.RELEASE.jar
2个包日志包(整合包中)
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.apache.log4j-1.2.15.jar
2.2 创建一个对象
package a_hello;
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;
}
public User() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
}
2.3 书写配置文件,注册对象到容器
- 位置任意(建议放到
src
下) - 配置文件名任意(建议
applicationContext.xml
)
2.3.1 导入约束的步骤
安装sts插件
- Window -> Preferences -> XML Catalog -> add
配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd "> <!-- 管理对象 --> <bean name="user" class="a_hello.User"></bean> </beans>
2.4 代码测试
步骤
开启spring容器 - 加载配置文件。
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
索要对象
User user = (User) ac.getBean("user");
package a_hello;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test01 {
@Test
public void test01() {
// 1.开启spring容器 - 加载配置文件
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
// 2.索要对象
User user = (User) ac.getBean("user");
System.out.println(user);
}
}
三、Spring的重要思想
3.1 IOC(Inverse of Control)
- 反转控制:对象的创建以及依赖关系的注入交给Spring完成
3.2 DI(Dependency Injection)
依赖关系注入。IOC思想的实现,需要DI做支持
注入方式
- set方法织入
- 构造方法注入
- p命名空间 - 添加命名空间
- SpEL注入
注入类型
- 值类型注入
- 引用类型注入
四、applicationContext&BeanFactory
4.1 BeanFactory接口
- spring原始接口。针对原始接口的实现类功能较为单一
BeanFactory
接口实现类的容器.特点是每次在获得对象时才会创建对象
4.2 ApplicationContext
- 每次容器启动时就会创建容器中配置的所有对象.并提供更多功能
- 从类路径下加载配置文件:
ClassPathXmlApplicationContext
- 从硬盘绝对路径下加载配置文件:
FileSystemXmlApplicationContext("d:/xxx/yyy/xxx")
4.3 结论
- web开发中,使用
applicationContext
. 在资源匮乏的环境可以使用BeanFactory
。
12 comments
《夺命营救》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/25811.html
想想你的文章写的特别好https://www.ea55.com/
博主真是太厉害了!!!
特意来给我桁神打call(๑•̀ㅁ•́ฅ)
1
1
1
1
1
1
1
1