zoukankan      html  css  js  c++  java
  • spring启动加载类,手动加载bean

    方法一:
    public final class Assembler implements BeanFactoryPostProcessor {
         private static ConfigurableListableBeanFactory beanFactory; // Spring应用上下文环境
         public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
               Assembler.beanFactory = beanFactory;
               initMerchant();
         }
    实现该接口,可以在spring的bean创建之前,修改bean的定义属性。
    也就是说,Spring允许BeanFactoryPostProcessor在容器实例化任何其它bean之前读取配置元数据,并可以根据需要进行修改
     手动注册bean:
     private static ConfigurableListableBeanFactory beanFactory; // Spring应用上下文环境
         DefaultListableBeanFactory beanFactory2 = (DefaultListableBeanFactory) beanFactory;
         BeanDefinitionBuilder beanMer = BeanDefinitionBuilder.genericBeanDefinition(className);
         beanMer.setParentName(beanType);
         beanMer.addPropertyValue("mrchCode", corgNum);
         beanMer.addPropertyValue("connectionName", beanName);
         beanMer.setInitMethodName("init");
         beanMer.setInitMethodName("isMerchantOpen");
         beanName = beanType + "_" + corgNum;
         beanFactory2.registerBeanDefinition(beanName, beanMer.getRawBeanDefinition());
    方法二:
    public class InitConfig extends HttpServlet implements ServletContextListener {
     
         @Override
         public void contextDestroyed(ServletContextEvent arg0) {
               logger.info("销毁。。。。");
               timer.cancel();
         }
         @Override
         public void contextInitialized(ServletContextEvent arg0) {
               logger.info("初始化。。。。");
                //手动让spring容器管理此类
              SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
         }
      <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      <listener>
        <listener-class>jsfirst.weixin.InitConfig</listener-class>
      </listener>
     
     
     
     
     
  • 相关阅读:
    centos6.5下redis的安装与配置
    (函数分治法)实现pow函数(x的y次方幂)
    (数组)大数相乘,相加
    (树)根据排序数组或者排序链表重新构建BST树
    (合并 重叠数组)练习容器的用法
    (动态规划)最小分糖果问题
    (链表)链表的排序问题
    (链表)链表和加法的混合
    (函数)实现strstr函数
    (字符串动态规划)一个字符串变成另一个字符串的步骤数
  • 原文地址:https://www.cnblogs.com/bchange/p/9182014.html
Copyright © 2011-2022 走看看