Spring入门 (IOC)

 1.实现原理

IOC:控制反转,指的是对象创建权反转(交给)Spring,作用是实现了程序的解耦合。

2.实现步骤

(1)    下载jar包(参见开发库/spring)

(2)    创建web项目,导入jar包

(3)    书写配置文件,并注册对象到容器中

Xml文件名字与位置任意,建议放到src目录下起名为aoolicationContext.xml

 

Xml中注册对象:

(4)测试代码

3.Spring创建对象的三种方式(Bean创建方式)

(1)工厂类:

(2)配置文件:

(3)       测试方法:

4.Bean元素属性

(1)scope属性

   (2)初始化方法和销毁方法

例如:

User.java中:

 

  测试:

5.import属性引入其他配置文件

6.属性注入方式

(1)     set方法注入

(2)构造方法注入:

测试:

(3)p命名空间注入

 

(4)       spel注入

(5)       数组,list,Map,Properties注入

  1. 数组

    2.list

    3.Map

    4.Properties

7.Spring应用到Struts

(1)     倒包(原来的spring包加web包)

(2)

(3)

(4)

改正:将spring与servletContext绑定在一起,每次启动项目时创建一个容器

 

8.入门总结

1.spring介绍

        spring并不局限于某一层.

        spring是对象的容器,帮我们"管理"项目中的所有对象

       

2.spring搭建

        1>导包 4+2

        2>准备类

        3>书写配置(src/applicationContext.xml)

        4>书写代码测试

       

3.spring中的概念

        ioc: 反转控制. 创建对象的方式反转了.从我们自己创建对象,反转给spring(程序)来创建.

       

        di: 依赖注入.将必须的属性注入到对象当中.是实现ioc思想必须条件.

       

        beanFactory与ApplicationContext

       

4.配置文件详解

       

        bean元素

           id:     给Bean起个名字            不能重复,不能使用特殊字符.早期属性.

           name:给Bean起个名字                  能重复,能使用特殊字符.后来属性.

           class:类的完整类名

        生命周期属性

           init-method               指出初始化方法

           destory-method  指出销毁方法

        作用范围

           scope:

                    singleton(默认值):单例.创建容器时会立即创建单例对象

                    prototype :多例.每次获得对象时,才会创建对象,并且每次都会创建新的对象

        分模块开发

           <import  />

       

5.Bean的创建方式

        *空参构造创建

        静态工厂

        实例工厂

 

6.注入方式

        *set方法

        *构造方法

        p名称空间

        spEL表达式

       

7.复杂属性注入

        Array

        List

        Map

        Properties

8.在WEB环境中使用Spring容器

        1>导包 4+2+1(spring-web)

        2>在web.xml中配置listener => ContextLoaderListener

           |-配置参数,指定spring配置路径

        3>在Action中,使用工具类获得容器.

           |-WebApplicationContextUtils.getWebApplicationContext(ServletContext sc)

 

posted @ 2017-09-18 20:19  QiaoZhi  阅读(325)  评论(0编辑  收藏  举报