spring 是什么

是一个开源的用来简化应用开发的框架。

简化开发

spring对常用的api做了封装和简化(比如,对jdbc做了封装,使用spring jdbc

来访问数据库,就不在需要考虑获取连接和关闭连接了)

管理对象

spring提供了一个容器,帮我们创建对象以及建立对象之间的依赖关系

这样做的好处是,降低对象之间的耦合度,方便代码维护。

集成其它框架

spring可以将其它的一些框架集成进来(比如,集成用于任务调度的框架

Quartz)。即“ 不发明重复的轮子”。

一站式的框架

spring容器
1.spring容器是什么

spring框架的一个核心模块,用于管理对象。

2.启动spring容器

step1. 导包。(spring-webmvc)

step2.添加配置文件

step3. 启动spring容器

//启动Spring容器
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
3.如何创建对象

方式一:使用无参构造器创建对象(重点)

step1.给类添加无参构造器(默认是缺省的)

step2.配置bean元素

step3.调用容器的getBean方法来获得对象

	<!-- 使用无参构造器创建对象    id属性:bean的名称,要求唯一 class属性:类的全限定名 -->
	<bean id="stu1" class="first.Student"></bean>

方式二:使用静态工厂方法创建对象(了解)

通过调用类的静态方法来创建对象。

  <!-- 使用静态工厂方法创建对象。factory-method属性:指定一个静态方法 spring容器会调用这个方法来创建对象-->
	<bean id="cal1" class="java.util.Calendar" factory-method="getInstance"></bean>

方式三:使用实例工厂方法创建对象(了解)

通过调用对象的实例方法来创建对象。

<!-- 使用实例工厂方法创建对象 factory-bean属性;指定一个bean的id factory-method属性:指定一个方法,spring会调用这个ceqan的方法-->   
<bean id="time1" factory-bean="cal1" factory-method="getTime"></bean>
4.作用域

默认情况下,容器对于某个bean,只会创建一个实例

可以设置scope属性值为prototype,这样,容器对于某个bean都会5创建多个实例。

5.生命周期

初始化方法:

使用init-method属性来指定初始化方法名。

销毁方法:

使用destroy-method属性来指定销毁方法名。

注:spring容器在关闭之前,会先销毁对象,在销毁对象之前,会先调用对象的销毁方法。

6.延迟加载(了解)

spring容器启动后,会将所有作用域为单例的bean创建号。

IOC(INVERSION OF CONTROL控制反转)

1.什么是IOC

对象之间的依赖关系,由容器建立。

2.DI(DEPENCY INJECTION依赖注入)

容器通过调用对象的setfangfa或者构造器来建立依赖关系。

3.SET方式注入

4.构造器方式注入

step1. 使用相应的构造器。

step2. 配置construct-arg元素

5.自动装配

自动装配,指的是spring容器依赖某种规则,自动建立对象之间的依赖关系。

注意:

a.默认情况下,容器不会自动装配。

b.可以通过指定autowire属性来告诉容器进行自动装配(容器仍然群需要通过调用set

方法或者构造器来完成依赖关系的建立)。

注入基本类型值

value

注入集合类型值

LIST MAP SET PROPERTES