spring体系结构
spring 开发步骤
步骤①
步骤②
步骤③④
步骤⑤
总体结构:
spring配置文件基本配置
用于获取对象交由spring来创建,默认情况下它调用的是类中的无参构造函数,如果没有无参构造函数则对象不能创建成功。
基本属性:
id:Bean实例在spring容器中的唯一标识
class:Bean的全限定名称
scope:对象的作用范围
init_method:指定类中的初始化方法名称,在创建对象之后执行(该方法是通过对象调用的)。
destroy_method:指定类中的销毁方法名称
当scope为singleton和prototype时对象的创建时机比较:
Bean实例化的三种方式
- 无参构造方法实例化(常用)
- 工厂静态方法实例化
- 工厂实例方法实例化
工厂静态方法实例化过程:
步骤①:建立工厂类,实现工厂静态方法获取对象
步骤②:在spring配置文件中配置该bean即可,不需要创建对象,因为静态方法不需要对象去调用(需要指定方法)
工厂实例方法实例化过程:
步骤①:建立工厂类,实现工厂非静态方法获取对象
步骤②:在spring配置文件中先配置工厂类,让spring容器创建工厂类的对象。再利用该对象指定返回获取bean的方法。
依赖注入(DI)
Bean的依赖注入方式
- set方法
- 构造方法
set方法注入过程:
步骤①:在service的实现类中添加dao层的set方法。
步骤②:在spring的配置文件中配置将dao注入到service中
注意:在main函数中要想用到注入service层中注入的dao层对象,必须从spring容器中通过getBean方法获取service层的对象,不能自己new,否则service对象中未注入dao对象。
构造器方法注入过程:
步骤①:在service的实现类中定义要注入的dao层对象,然后添加参数为该对象的有参构造方法。
步骤②:在spring配置文件中注入dao层对象到service层对象中。
Bean依赖注入的三种数据类型
- 引用数据类型
- 普通数据类型
- 集合数据类型
他们的注入都可通过set方法和构造方法,其中普通数据类型注入在spring配置文件中配置如下:
集合数据类型注入
List集合注入:
map集合注入:
properties集合注入: