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

做婚纱摄影网站网络平台有哪些

做婚纱摄影网站,网络平台有哪些,厦门云端企业网站建设,如何查看网站做没做百度推广在 Spring 的 bean 装载条件中,虽然 Spring 给我们提供了非常好用便捷的 Condition 相关注解,但是很多时候 Condition 相关注解并不满足我们的需求,我需要更复杂的条件手动控制是否装置 bean。这个时候我们就可以实现 Spring 为我们提供的几个…

在 Spring 的 bean 装载条件中,虽然 Spring 给我们提供了非常好用便捷的 Condition 相关注解,但是很多时候 Condition 相关注解并不满足我们的需求,我需要更复杂的条件手动控制是否装置 bean。这个时候我们就可以实现 Spring 为我们提供的几个接口来实现手动 bean 的注入。

一、ApplicationContextAware 接口

在某些特殊的情况下,bean 需要实现某个功能,但该功能必须借助于 Spring 容器才能实现,此时就必须让该 bean 先获取 Spring 容器,然后借助于 Spring 容器实现该功能。为了让 bean 获取它所在的 Spring 容器,可以让该 bean 实现 ApplicationContextAware 接口。ApplicationContextAware 通过它 Spring 容器会自动把上下文环境对象调用ApplicationContextAware 接口中的 setApplicationContext 方法。在 ApplicationContextAware 的实现类中,就可以通过这个上下文环境对象得到 Spring 容器中的 bean。

@Component
public class MyContextAware implements ApplicationContextAware {@Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {System.out.println("SpringWebSocketContextAware");// 将 applicationContext 转换为 ConfigurableApplicationContextConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) applicationContext;// 获取 BeanFactoryDefaultListableBeanFactory defaultListableBeanFactory = (DefaultListableBeanFactory) configurableApplicationContext.getAutowireCapableBeanFactory();// 创建 bean 信息BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(Test.class);// 动态注册 beandefaultListableBeanFactory.registerBeanDefinition("test", beanDefinitionBuilder.getBeanDefinition());}
}

 二、BeanDefinitionRegistryPostProcessor 接口

Spring 中并没有具体去实现 postProcessBeanFactory 方法,是提供给想要实现BeanPostProcessor 的三方框架使用的。谁要使用谁就去实现。作用是在 BeanFactory 准备工作完成后做一些定制化的处理,一般结合 BeanPostProcessor 接口的实现类一起使用,注入一些重要资源。

@Component
public class MyBeanDefinitionRegistryPostProcessor implements BeanDefinitionRegistryPostProcessor {@Overridepublic void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {BeanDefinition beanDefinition = BeanDefinitionBuilder.rootBeanDefinition(Test.class).getBeanDefinition();registry.registerBeanDefinition("test", beanDefinition);}@Overridepublic void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {BeanDefinitionRegistryPostProcessor.super.postProcessBeanFactory(beanFactory);}
}

三、ImportBeanDefinitionRegistrar 接口

在 spring 应用启动过程,一些被 @Import 注解的类(这些类都实现了 ImportBeanDefinitionRegistrar 接口)会执行 ImportBeanDefinitionRegistrar 的registerBeanDefinitions 方法,然后生成 BeanDefinition 对象,并最终注册到BeanDefinitionRegistry 中,为后续实例化 bean 做准备的。

@Component
public class MyImportBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar {@Overridepublic void registerBeanDefinitions(@NotNull AnnotationMetadata importingClassMetadata,@NotNull BeanDefinitionRegistry registry,@NotNull BeanNameGenerator importBeanNameGenerator) {this.registerBeanDefinitions(importingClassMetadata, registry);}@Overridepublic void registerBeanDefinitions(@NotNull AnnotationMetadata importingClassMetadata,BeanDefinitionRegistry registry) {BeanDefinition beanDefinition = BeanDefinitionBuilder.rootBeanDefinition(Test.class).getBeanDefinition();registry.registerBeanDefinition("test", beanDefinition);ImportBeanDefinitionRegistrar.super.registerBeanDefinitions(importingClassMetadata, registry);}
}

接口执行顺序:ImportBeanDefinitionRegistrar -> BeanDefinitionRegistryPostProcessor -> ApplicationContextAware 

http://www.yidumall.com/news/96094.html

相关文章:

  • 蚌埠专业制作网站的公司长沙网站搭建优化
  • 推广型网站开发软件深圳seo
  • wordpress模板 content佛山市seo推广联系方式
  • 什么程序做的网站没有index页面信息流广告投放平台
  • 公安局打电话网站备案seo助手
  • 网站开场动画怎么做站长工具永久
  • 厦门 外贸商城网站建设网站推广服务外包
  • 个人做网站租云服务器武汉服装seo整站优化方案
  • 网页设计图片叠加优化教程网官网
  • 手机网站建站教育模板合肥百度快速排名优化
  • 网站建设行规国内搜索引擎大全
  • windows2012iis网站默认设置竞价托管推广
  • 杭州萧山区专门做网站的公司网店推广有哪些
  • 做php网站用的软件短视频seo系统
  • 政府网站 建设目标浙江关键词优化
  • 淘宝代购网站怎么做广州今日新闻头条新闻
  • 网站怎么做透明导航关键词查询
  • 免费搭建微信小程序网站排名优化培训
  • 网站开发维护专员岗位职责永久不收费的软件app
  • wordpress自定义右侧不显示页面苏州优化收费
  • 做同城网站有哪些如何制作一个网页页面
  • 沈阳网站开发外包南京网站设计公司大全
  • 主要网站 开发语言seo关键词优化排名公司
  • java做网站用什么软件世界杯竞猜
  • 南宁百度seowindows优化大师有哪些功能
  • 网站建设投标天天外链
  • 国外网站后缀阿里巴巴国际站运营
  • wordpress开源可视化编辑做抖音seo排名软件是否合法
  • 网站建设和维护工作内容电商运营去哪里学比较好
  • 做众筹网站怎么赚钱百度统计代码