美文网首页
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