美文网首页
spring 入门

spring 入门

作者: 林皮皮s | 来源:发表于2018-11-02 14:32 被阅读0次

    一、spring 介绍

    1. 三层架构中 spring 的位置
    1. spring 一站式框架
    • spring 框架是属于容器性质的,所以容器中装什么对象就有什么功能,所以可以一站式
    • spring 不排斥其它框架,并且可以帮其它框架管理对象
    • 支持 AOP
    • IOC 思想
    • spring jdbc
    • aop 事务
    • 支持 junit 测试

    二、spring 搭建

    1. 导包
      使用 spring 最基础的包
    spring-beans-4.2.4.RELEASE.jar
    spring-context-4.2.4.RELEASE.jar
    spring-core-4.2.4.RELEASE.jar
    spring-expression-4.2.4.RELEASE.jar
    
    # 日志包
    com.springsource.org.apache.commons.logging-1.1.1.jar
    # 可选包 建议导进去
    com.springsource.org.apache.log4j-1.2.15.jar
    
    1. 创建一个对象
    public class user {
    
        private String name;
        private String age;
    
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getAge() {
            return age;
        }
        public void setAge(String age) {
            this.age = age;
        }
    }
    
    1. 书写配置文件
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
        <!-- 将user对象交给spring容器管理 -->
        <bean name="user" class="org.lingnan.entity.user"></bean>
    </beans>
    
    • 配置文件位置任意,建议放到src下
    • 配置文件名任意,建议名为 appilicationContext.xml
    1. 代码测试
    @Test
    public void fun1(){
         // 1 创建容器对象
         ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
         // 2 向容器要 user 对象
         user u = (user) ac.getBean("user");
         // 3 打印 user 对象
         System.out.println(u);
    }
    

    三、spring 概念 (重点)

    1. 思想
    • IOC 控制反转
      将我们创建对象的方式反转了,以前对象的创建是由开发人员自己维护,包括依赖关系也是自己注入。使用spring后,对象的创建以及依赖注入都可以由spring来帮我们完成。
      控制反转就是创建对象的方式反转了,从开发人员创建反转给程序(spring)。

    • DI 依赖注入
      将必须的属性注入到对象中,是实现IOC思想的必须条件。

    1. applicationContext & BeanFactory
    • applicationContext
      1). 每次容器启动时就会创建容器中配置的所有对象,并提供更多功能
      2). 从类路径下加载配置文件:ClassPathXmlApplicationContext

    • BeanFactory
      1). spring原始接口,针对原始接口的实现类功能较为单一
      2).BeanFactory接口实现类的容器,特点是每次在获得对象的时候才创建。

    结论: web开发中,使用applicationContext,在资源匮乏的环境中可以使用BeanFactory。

    四、spring 配置详解 (重点)

    1. bean 元素
    <!-- Bean元素:使用该元素描写需要被容器管理的对象
              class属性:被管理对象的完整类名
              name属性:给被管理的对象起个名字,根据该名称来获得对象
                      可以重复,可以使用特殊字符
              id属性:与name属性作用一样
                    不可重复,不能使用特殊字符
               结论:尽量使用name属性
        -->
        <bean name="user" class="org.lingnan.entity.user"></bean>
    
    1. bean元素进阶
    • scope属性
      1). singleton(默认值):单例对象。被标识为单例的对象在spring中只会存在一个实例。
      2). prototype:多例原型。被标识为多例的对象,每次在获得时才会创建,并且每次创建都是新的对象。整合struts2时,ActionBean必须配置为多例的。
      3). request:web环境下,对象与request生命周期一致。
      4). session:web环境下,对象与session生命周期一致.

    • 生命周期属性(了解)
      1). 配置一个方法作为生命周期初始化方法.spring会在对象创建之后立即调用.
      2). 配置一个方法作为生命周期的销毁方法.spring容器在关闭并销毁所有容器中的对象之前调用.
      3). 配置方式

    1. spring 创建对象的方式
    • 空参构造方式
    • 静态工厂(了解)
    • 实例工厂(了解)
    1. spring 的分模块配置

    五、spring 属性注入 (重点)

    1. 注入方式
    • set方式注入
    set方式注入

    注意:引用类型注入之前,必须在容器中先配置相应的对象

    • 构造函数注入
    构造函数注入
    • p名称空间注入
    p名称空间注入
    • spel注入
    spel注入
    1. 复杂类型注入
    • 数组
    数组
    • list
    list
    • map
    map
    • properties
    properties

    相关文章

      网友评论

          本文标题:spring 入门

          本文链接:https://www.haomeiwen.com/subject/vkeqxqtx.html