什么是spring

开源一站式框架:具有javaee开发的每一层解决方案。优点:方便解耦,面向切片(AOP),方便集成别的框架

  • web层:springMVC
  • service层:spring的Bean管理,spring声明事物
  • DAO层:spring的JDBC模板,spring的ORM模板

解压spring压缩包

  • docs :Spring的开发规范和API
  • libs :Spring的开发的jar和源码
  • schema :Spring的配置文件的约束
    解压完成后使用spring只需导入核心的几个jar包

什么是IOC

控制反转(Inversion of control) 将对象的创建权限交给spring。
底层实现方案:工厂+配置文件+反射
Spring4入门-IOC底层实现-DI-属性注入

DI依赖注入

依赖注入的前提是必须有ioc环境,spring管理这个类时将这个类依赖的属性注入当前创建的对象中来。

spring的工厂类

BeanFactory:调用getBean时才会生成类实例。(淘汰)
ApplicationContext:加载配置文件时就将spring管理的类实例化

  • ApplicationContext有两个实现类:
  • ClassPathXmlApplicationContext:加载类路径下的xml配置文件。
  • FilePathXmlApplicationContext:加载文件系统下的xml配置文件。

bean的相关配置

标签的id和name的配置

id :使用了约束中的唯一约束。里面不能出现特殊字符的。
name :没有使用约束中的唯一约束(理论上可以出现重复的,但是实际开发不能出现的)。里面可以出现特殊字符。

Bean的生命周期的配置(了解)

init-method:Bean被初始化的时候执行的方法
destroy-method:Bean被销毁的时候执行的方法(Bean是单例创建,工厂关闭)

Bean的作用范围的配置(重点)

scope:Bean的作用范围

  • singleton :默认的,Spring会采用单例模式创建这个对象。
  • prototype :多例模式。(Struts2和Spring整合一定会用到)
  • request :应用在web项目中,Spring创建这个类以后,将这个类存入到request范围中。
  • session :应用在web项目中,Spring创建这个类以后,将这个类存入到session范围中。

spring创建管理类的几种方法

  • 无参构造方法的方式(默认的)
  • 静态工厂实例化
<bean id="bean1" class="com.demo..BeanFactory" factory-method="creatBean" />
  • 实例工厂实例化

spring属性的注入

  • 构造方法的注入
    Spring4入门-IOC底层实现-DI-属性注入
  • set方法的注入
    Spring4入门-IOC底层实现-DI-属性注入
  • p名称空间注入
    Spring4入门-IOC底层实现-DI-属性注入
  • SpEl的属性注入
    Spring4入门-IOC底层实现-DI-属性注入

相关文章: