avatar

Catalog
spring概述以及基于XML的IOC配置

1.Spring概述

1.1 spring 简介

  1. Spring是分层的Java SE/EE应用full-stack 轻量级开源框架,以IoC(overee Of Control:反转控制)和AOP(Aspect Ori ented Programming:面向切面编程)为内核,
  2. 提供展现层Spring MVC 和持久层 Spring JDBC

1.2优势

  1. 方便解耦,简化开发。

    通过Spring提供的IoC容器,不必对单例模式等,属性文件解析编写带啊吗,可以更加专注上层应用

  2. AoP编程的支持

    通过Spring的AOP功能,方便

  3. 声明式事务的支持

    通过声明式方法灵活的进行事务管理,提高开发效率和质量

  4. 方便程序测试

    可以用非容器的编程方式进行测试

  5. 方便集成各种优秀框架

  6. 降低JavaEE API的使用难度

  7. java源码经典学习范例

1.3体系结构

image-20200805203220940

核心容器 IOC

AOP

2.Spring快速入门

2.1 Spring程序开发步骤

  1. 导入Spring开发的基本包坐标
  2. 编写Dao接口和实现类
  3. 创建Spring核心配置文件
  4. 在Spring配置文件中配置UserDaolmpl
  5. 使用Spring的API获得Bean实例
  1. 导入坐标

  2. 创建接口,实现接口

  3. 创建applicationContext.xml

  4. 导入

  5. 使用spring API获得实例 ApplicationContext app = new ClassPathXmlApplicationContext(“applicationContext.xml”);

    UserDao userDao = (UserDao)app.getBean(“userDao”);

3.Spring 配置文件

3.1 Bean 标签的基本配置

$id:$ 唯一性标识,不允许重复

$class:$ Bean的路径

$scope:$ 值对象的作用范围,取值如下

取值范围 说明
singleton 默认值,单例的
prototype 多例的
request WEB项目中,Spring 创建一个 Bean的对象,将对象存入到request域中
session WEB项目中,Spring 创建一个 Bean的对象,将对象存入到session域中
globalSession WEB项目中,应用在Portlet环境,如果没有Portlet环境那么相当global session于session

3.2 Bean标签范围配置

测试对象Bean的创建时期

当设计模式为singleton时,一旦配置文件被加载,实例也被构造了。

当设计模式为prototype, 加在配置文件不会创建对象,只有getBean时创建

1)当scope的取值为singleton时

​ Bean的实例化个数:1个
​ Bean的实例化时机:当Spring核心文件被加载时,实例化配置的Bean实例 Bean的生命周期: ● 对象创建:当应用加载,创建容器时,对象就被创建了
● 对象运行:只要容器在,对象一直活着
● 对象销毁:当应用卸载,销毁容器时,对象就被销毁了

2)当scope的取值为prototype时

Bean的实例化个数:多个
Bean的实例化时机:当调用getBean0方法时实例化Bean
● 对象创建:当使用对象时,创建新的对象实例
● 对象运行:只要对象在使用中,就一直活着
● 对象销毁:当对象长时间不用时,被Java的垃圾回收器回收了

3.3 Bean生命周期配置

1
<bean id="userDao" class="com.spring.dao.UserDaoImpl" scope="singleton" init-method="init" destroy-method="destory"></bean>

init-method 初始化

destroy-method 销毁

app.close() 注意 不能时ApplicationContext使用 ClassPathXmlApplicationContext

3.3 Bean的三种构建方法

无参构造方法实例化
工厂静态方法实例化
工厂实例方法实例化

3.4 Bean的依赖注入的数据类型

普通数据类型

引用数据类型

集合数据类型

4. Spring相关API

4.1 ApplicationContext继承体系

image-20200819151554975

4.2 ApplicationContext的实现类

1)ClassPathXmlApplicationContext它是从类的根路径下加载配置文件推荐使用这种

2)FileSystemXmlApplicationContext它是从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置。

3)AnnotationConfigApplicationContext当使用注解配置容器对象时,需要使用此类来创建spring容器。它用来读取注解。

4.3 getBean方法使用

app.getBean(“id”) 如果配置文件总有多个相同类的bean,需要使用id

app.getBean(class) 如果配置文件中,只存在一个Bean,则可以使用该方法

Author: kim yhow
Link: http://yoursite.com/2020/08/05/spring概述以及基于XML的IOC配置/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
    微信
  • 支付寶
    支付寶