43.Spring第一天

1. 对象的容器:

一站式框架:

正因为spring框架属于容器性质的,容器中装什么对象就有什么功能,所以可以一站式。

它是一个分层的一站式的轻量级的开源框架。

它提供AOP编程。面向切面的编程。

它支持Junit4

方便集成各种优秀框架。

它声明式事务的支持。

2. Spring框架的搭建:

release:释放,放开,发行。

dependency:附属,从属。

解压开spring-4.2.4-Release:

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

除了这4个包外,还需要导一个日志包。(4.2.4新版本导这一个即可)

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

老版本再导一个

com.springsource.org.apache.log4j-1.2.15

书写配置注册对象到容器:位置建议src/文件名建议applicationContext.xml

3. Spring 框架导入约束

1).使用scheme约束,后缀名为xsd

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

2).先写根元素,再切换到编辑视图。

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

再无脑导入xsi

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

成功!!

4. Spring 框架根据约束写配置

1)user对象交给spring框架管理。

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

5. Juint4测试该框架

18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置 

6. ioc思想+di

Inverse of control:反转思想

     对象的创建方式翻转了。

Dependency injection:依赖注入

     实现ioc需要di支持。

     注入方式:set方法注入、构造方法注入、字段注入。

     注入类型:值类型注入    8大基本数据类型、

          引用类型注入  将依赖对象注入。 

7. 俩接口介绍

1applicationContext

每次容器启动时就会创建容器中配置的所有对象,并提供更多功能。

Web开发中,使用applicationContext,在资源匮乏时使用BeanFactory

它从类路径下加载配置文件:ClassPathXmlApplicationContext实现类

或者18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置实现类

2BeanFactory最底层接口最原始

针对原始接口的实现类功能较为单一,它的实现类为容器,特点是每次在获得对象时才会创建对象。

8. 配置bean元素相关配置

name属性:给被管理的对象起个名。可使用特殊字符,名称可以重复。

Class属性:完整类名

Id属性:名称不能重复,不能使用特殊字符(不推荐)

Scope属性:

  1singleton (默认值) 单例

  2prototype  多例原型

  Springstruts2整合时要多例原型,其它大部分为单例模型

  3request18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置无用

  4) session无用

生命周期属性:需要在对应的对象中创建相关方法 :

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

   配置一个方法作为生命周期初始化方法,spring会在对象创建之 后立即调用。   Init-method=””

   配置一个方法作为生命周期销毁方法,spring容器会在关闭并销毁容器中所有对象之前调用。   destroy-method 

验证销毁方法:

实现类有ac.close();方法,关闭容器,父类actionContext没有。

9. 创建对象的三种方式

1最常用是空参构造创建  最重要

2)静态工厂方式   了解

3)实例工厂创建    了解

10.  Spring的分模块配置

可以在主配置文件引入其它配置,(当一个配置文件方入的对象过多

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

去掉src之前的

11. SpringBean的属性注入:

1set方法注入 非常重要

<property name=”age” value=”18”></property>  值类型注入

<property name=”car” ref=”car”>   引用类型注入

car属性引入下方配置的car对象。

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

2)构造函数注入  重要

<constructor-arg name=”” type=”” index=”” value=””>

<constructor-arg name=”” type=”” index=”” ref=””>

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

3p名称空间注入  了解

4spel注入      了解

1) 向array中注入:如果注入的值(对象)只有一个:

直接使用valueref)即可。

向容器要对象:

ApplicationContext ac=new ClassPathApplicationContext(“相对路径”);

CollectionBean cb= (CollectionBean )ac.getBean(“cb”);

18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

1)向array中注入多个值或对象

<property name=”arr”>

   <array>

     <value>tom</value>

     <value>jerry</value>

     <ref bean=”user4”/>

   <array>    

</property >

2)向list注入一个元素:

<property name=”” value=””></property>

3)向list注入多个元素

<property name=”list”>

  <list>

<value>jack</value>

<value>rose</value>

<ref bean=””/>

  </list>

</property>

4)Map类型注入

<property>

  <map>

<entry  key=”字符串” value=”字符串”></entry>

<entry  key=”字符串”  value-ref=”引用类型user”></entry>

<entry  key-ref =”引用user” value-ref=”引用user”></entry>

  </map>

</property>

5)properties类型注入(键值对)(不分一个值多个值)

<property name=””>

  <props>

    <prop key=””></prop>

  </props>

<proerpty>

12. 确保容器中applicationContext只有一个。

Spring配置文件的规则:没有规则,名字任意,位置任意

配置一个Listener

需要导包spring-web-4.2.4.RELEASE

创建applicationContext对象后会将该放入application中。

 18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置

18.01.21,web学习第四十三天,还有半年,努力吧青年 Spring第一天 搭建和对象配置


相关文章: