目录
1 什么是spring框架
2 spring框架的特点
3 spring容器
3.1 什么是spring容器
3.4 spring容器创建对象的方式
3.5 bean元素的几个重要属性
4 IOC
4.1 什么是IOC
4.2 什么事DI
4.3 DI的三种方式
1 什么是spring框架
是一个开源的用来简化企业级应用开发的框架
2 spring框架的特点
2.1 简化开发
spring对一些常见的api(比如jdbc)做了封装,使用这些封装之后的api,代码会大大简化。
比如,使用springjdbc来访问数据库,就不用考虑如何获取连接,关闭连接等操作。
2.2 管理对象
spring可以帮我们管理对象之间的依赖关系,这样一来, 软件更容易维护。
2.3 集成其它框架
spring可以将一些框架集成进来,更方便使用这些框架。、
比如,可以利用spring集成mybatis(mybatis是一个用 来访问数据库的框架),这样mybatis用起来更加简单。
3 spring容器
3.1 什么是spring容器
是spring框架当中的一个核心模块,用来管理对象。
3.2怎么利用 spring容器 来创建对象
3.2.1 创建一个 maven项目
》记得让maven项目中出现 web.xml 这个配置文件 -->> 还记得咋整吗?
3.2.2 导包
spring-webmvc -->> 启动 spring容器 时需要用到
junit -->> 进行单元测试时需要用到
3.2.3 启动 spring容器
》添加一个 spring容器 配置文件
例:给Student类配置bean,只需在spring的配置文件中添加
<bean ></bean>
id : 必须要保证唯一
class:就是需要配置bean的类名,但是必须在前面加上 包名.
》利用 ApplicationContext 的实现类 ClassPathXmlApplicationContext 去启动容器
3.2.4 利用 getBean(String name, Class<T> requiredType) 来实例化对象
注意:spring容器会利用相关类的无参构造器去创建实例,所以相关类中必须要有无参构造器,否则会报错:“找不到无参构造器”
3.3 注意
spring容器一旦启动,就会在 堆 中将所有配置了 bean 的类创建好一个实例
1 package test; 2 3 import java.io.Serializable; 4 5 public class Student implements Serializable { 6 private Integer id; 7 private String name; 8 private String gender; 9 10 11 public Student() { 12 super(); 13 System.out.println("New Student()"); 14 } 15 public Integer getId() { 16 return id; 17 } 18 public void setId(Integer id) { 19 this.id = id; 20 } 21 public String getName() { 22 return name; 23 } 24 public void setName(String name) { 25 this.name = name; 26 } 27 public String getGender() { 28 return gender; 29 } 30 public void setGender(String gender) { 31 this.gender = gender; 32 } 33 34 public String toString() { 35 return "Student [>; 36 } 37 38 }