一个基于多实现类的工厂模式

一.了解两个接口  InitializingBean ApplicationContextAware 

InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候都会执行该方法

spring初始化bean有两种方式:
第一:实现InitializingBean接口,继而实现afterPropertiesSet的方法
第二:反射原理,配置文件使用init-method标签直接注入bean

ApplicationContextAware 通过它,Spring容器会自动把上下文环境对象调用ApplicationContextAware接口中的setApplicationContext方法。

看到—Aware就知道是干什么的了,就是属性注入的

实现了这个接口的bean,当spring容器初始化的时候,会自动的将ApplicationContext注入进来

二. 对象工厂类实现上述两个接口的目的

一个基于多实现类的工厂模式_第1张图片

补充一个接口:TreatService 根据接口类,加载出实现该接口的所有类对象

补充一个Enum:里面是定义各个实现类对应的值,在调用对象工厂的时候,通过前端传进来的值来调用(这里用法多变自行定义就好)

三.更简洁实现注入多实现类的方法

你可能感兴趣的:(设计模式的初见,设计模式,工厂模式)