一. Spring 钩子
1. ApplicationContextAware 接口(org.springframework.context.ApplicationContextAware)
实现了 ApplicationContextAware接口的类 需要重写 setApplicationContext 方法 , 在该方法里边可以完成装载容器的操作如 , 现在有接口ActivityStrategy , 其实现类有下列三个 , 我们在实现策略模式的时候 需要在Map的value处设置为这三个实现类的对象(这三个类需要放在Spring容器里,即注册为组件) , 那么就可以放在setApplicationContext方法中去实现
这样就可以将 ActivityStrategy接口所有的实现类,并且是Spring的组件全部put进enumActivityStrategyMap里边了
启动SpringBoot项目之后 在启动过程中就会打印出下列信息 , 就是当前接口的所有实现类对象
{discountActivity=com.xqh.root.design_pattern.strategyPattern.demo01.strategy.DiscountActivity@3704122f, freeActivity=com.xqh.root.design_pattern.strategyPattern.demo01.strategy.FreeActivity@3153ddfc, fullActivity=com.xqh.root.design_pattern.strategyPattern.demo01.strategy.FullActivity@60afd40d}