当前位置: 首页 > news >正文

Spring中的模板方法实现

      在Spring的生命周期阶段,有些步骤是固定的实现,有些阶段的处理需要动态变化,对于动态的实现,可以使用模板方法的模式,再根据实际情况进行实现,逼如依赖注入阶段对@Autowired以及@Resource的解析。

      代码实现:

1.自定义接口

 static interface BeanPostProcessor{public void inject(Object bean);//}
}

2.自定义BeanFactory

static class MyBeanFactory{public Object getBean(){Object bean = new Object();System.out.println("构造"+bean);System.out.println("依赖注入 "+bean);//解析@Resource @Autowiredfor(BeanPostProcessor processor : processors){processor.inject(bean);}System.out.println("初始化 "+bean);return bean;}private List<BeanPostProcessor> processors = new ArrayList<>();public void addBeanPostProcessor(BeanPostProcessor processor){processors.add(processor);}}

       其中构造,依赖注入以及初始化是固定的步骤,而对于依赖注入后的解析,可以通过模板方法实现。

3.主类调用
在实际使用的时候,通过匿名内部类结合Lamda表达式注入对应的Bean后处理器。

 public static void main(String[] args) {MyBeanFactory beanFactory = new MyBeanFactory();beanFactory.addBeanPostProcessor(bean -> System.out.println("解析@Autowired"));beanFactory.addBeanPostProcessor(bean -> System.out.println("解析@Resource"));beanFactory.getBean();}

4.结果输出

        模板方法模式的核心是“骨架不变,步骤可变”。它通过父类固定流程,子类实现细节,完美地实现了代码复用和扩展性的平衡。

http://www.dtcms.com/a/432351.html

相关文章:

  • 大连购物网站开发建设工程管理专业学什么
  • 大模型 | RAG | FastAPI工具检索系统:94%召回率
  • 网站首页结构怎么写中国工业互联网公司排名
  • 湖南网站建站系统哪家好临沂专业做网站
  • 电商类网站建设需要多少钱嵌入式培训机构哪家好
  • 新乡网站开发的公司电话男的做直播哪个网站
  • 建设银行益阳市分行桃江支行网站营口网站建设公司
  • 网站建设之网页制作语言基础室内设计平面图分析
  • 网站建设第三方平台网站开发公司赚钱么
  • 如何查询Google账号注册日期
  • 做网站总结作文食品饮料网站源码
  • 梁友栋-liang-barsky
  • 广东省省的建设厅官方网站汕头企业制作网站推广
  • 一个好的网站有什么标准南海网站推广
  • 家庭宽带做网站稳定wordpress如何关闭标签功能
  • 播州区住房城乡建设路的网站怎么让网站被搜索到
  • 成都市建设路小学网站wordpress 360浏览器
  • 01回顾历史:监控系统的历史与演进
  • 深圳建设交易中心网站首页个人视频网站制作
  • 创造与魔法官方网站一起做喜欢的事沈阳专业做网站公司
  • 线程清理机制(pthread_cleanup函数族实践)
  • 轻淘客的轻网站怎么做wordpress js cdn
  • 网站注册商是什么个人作品集模板免费
  • 网站退出率用php做京东网站页面
  • 电子商务网站后台功能wordpress首页文章带图
  • php网站开发软件语言c php做网站对比
  • 江门网站seo推广建设银行河北省分行网站
  • 器件选型时,几个重要通识与应用案例分享
  • 时间复杂度与空间复杂度知识框架
  • 关于建设网站群的报告wordpress 记录密码