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

网站建设的价值最好的网站管理系统

网站建设的价值,最好的网站管理系统,微官网与网站的区别,模板网站和定制网站影响排名背景介绍 在一些需求中#xff0c;可能存在某些场景#xff0c;比如先加载自己的bean#xff0c;然后自己的bean做一些DB操作#xff0c;初始化配置问题#xff0c;然后后面的bean基于这个配置文件#xff0c;继续做其他的业务逻辑。因此有了本文的这个题目。 实现方法…背景介绍 在一些需求中可能存在某些场景比如先加载自己的bean然后自己的bean做一些DB操作初始化配置问题然后后面的bean基于这个配置文件继续做其他的业务逻辑。因此有了本文的这个题目。 实现方法 DependsOn注解 这个DependsOn网上实现方法很多依赖的bean数目较少的话比较好弄但数目变多后就比较麻烦了每个类都需要重新写一遍因此推荐第二种方法。 ApplicationContextInitializer 通过注册 ApplicationContextInitializer 后就可以注册 BeanDefinitionRegistryPostProcessor 到 Spring里面。最后实现 BeanDefinitionRegistryPostProcessor 注册目标 bean。 class DemoApplicationContextInitializer implements ApplicationContextInitializerConfigurableApplicationContext {Overridepublic void initialize(ConfigurableApplicationContext applicationContext) {applicationContext.addBeanFactoryPostProcessor(new DemoBeanDefinitionRegistryPostProcessor());} }实现 BeanDefinitionRegistryPostProcessor: public class DemoBeanDefinitionRegistryPostProcessor implements BeanDefinitionRegistryPostProcessor, PriorityOrdered {// from BeanDefinitionRegistryPostProcessor interfaceOverridepublic void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry beanDefinitionRegistry) throws BeansException { // 重点在这里这里可以把自己的 想要提起 实现的 或者初始化的 bean 加到这里 beanDefinitionRegistry.registerBeanDefinition(DemoService,new RootBeanDefinition(DemoService.class));}// from BeanDefinitionRegistryPostProcessor interfaceOverridepublic void postProcessBeanFactory(ConfigurableListableBeanFactory configurableListableBeanFactory) throws BeansException {}// from PriorityOrdered interfaceOverridepublic int getOrder() {// 排在 ConfigurationClassPostProcessor 之前即可return Ordered.LOWEST_PRECEDENCE - 1;} }这里需要注意的是不能使用 Componet 或者其他的注解进行注册 BeanDefinitionRegistryPostProcessor。 因为Componet 注解方式能注册的前提是 被 ConfigurationClassPostProcessor 扫描到而现在我们需要考虑我们的bean注册要在这些bean之前所以一定不能被“它-ConfigurationClassPostProcessor”管理 。 换一个角度思考如果被 “它” 管理类 注册出来的bean 一定不可能排在 ConfigurationClassPostProcessor 的前面。 注意Order 这个只能控制 spring 自身 bean的顺序对于 Service Component 、Repository这些注解是不能控制的。 简单Demo 需求笔者想让TestService 提前被注册并且执行后其他bean 才能被注册。 public class TestService {// 存放系统配置private static MapString, String GLOBAL_CONF new HashMap();PostConstructpublic void init() {// 先做初始化 GLOBAL_CONF 或者其他 IO操作// GLOBAL_CONF.put(key, value);}//其他 bean 通过这个方法获得系统配置public static String getGlobalConfig(String key) {return GLOBAL_CONF.get(key);} }实现为了简单直接实现上述的3个接口 public class DemoBeanDefinitionRegistryPostProcessor implements BeanDefinitionRegistryPostProcessor, PriorityOrdered, ApplicationContextInitializerConfigurableApplicationContext {/*** 第二步 注册 自己的 bean** param beanDefinitionRegistry*/// from BeanDefinitionRegistryPostProcessor interfaceOverridepublic void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry beanDefinitionRegistry) throws BeansException {beanDefinitionRegistry.registerBeanDefinition(TestService,new RootBeanDefinition(TestService.class));}// from BeanDefinitionRegistryPostProcessor interfaceOverridepublic void postProcessBeanFactory(ConfigurableListableBeanFactory configurableListableBeanFactory) throws BeansException {}// from PriorityOrdered interfaceOverridepublic int getOrder() {return Ordered.LOWEST_PRECEDENCE - 1;}/*** 第一步 先注册 到 configurableApplicationContext 中** param configurableApplicationContext*/// from ApplicationContextInitializer interfaceOverridepublic void initialize(ConfigurableApplicationContext configurableApplicationContext) {configurableApplicationContext.addBeanFactoryPostProcessor(new DemoBeanDefinitionRegistryPostProcessor());} }思考 那如何得到 或者 看到 spring bean 加载的顺序呢 见下一篇。
http://www.hkea.cn/news/14326311/

相关文章:

  • 安徽工程建设信息网站王开林什么网站可以做线上小游戏
  • 导航网站帝国cms模版精品课程网站建设的国内外现状
  • 做影视网站引流合肥seo软件
  • 郑州的做网站公司有哪些营销型网站建设多少钱
  • 网站建设和应用的情况网站视频主持人制作
  • 国外互联网资讯网站wordpress 4.7.2安装
  • 青州网站建设优化舟山网站建设哪家好
  • 做网站设计网站建设推广电商无货源怎么做
  • 网站loading动画效果婚庆公司简介
  • 网易那个网站可以做字幕如何做企业的网站
  • 微网站建设公司首选内容网站管理系统
  • 做线上网站的目的暴雪手游
  • 免费试用网站怎么做电子商务网站建设期末试题答案05
  • 定西seo排名seo项目优化案例分析文档
  • 做论坛网站如何赚钱的wordpress连接ftp
  • 网站建设人员求职信做谷歌网站使用什么统计代码吗
  • 公司网站建设应符合哪些法规在线制作印章免费
  • 浙江建设厅网站首页wordpress实现中英文切换
  • 上海品牌设计有限公司百度关键词相关性优化软件
  • 网站和discuz同步登录网站建设 个人
  • asp如何做网站三个字广告公司名字
  • 做网站时量宽度的尺子工具网站建设空格怎么打
  • 滁州市建设局网站网站建站平台排行榜
  • 快速搭建网站的好处传媒公司怎么注册
  • 咸宁做网站的公司短视频推广方式有哪些
  • 网站轮播图互联网营销中心
  • 交互式网站北京广告公司名录
  • 二学一做网站seo网站优化服务合同
  • 易思企业网站破解版成都市成华区建设局官方网站
  • 如何建设网站的外链网站建设 收费