• 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>
     
     
     
     
     
  • 相关阅读:
    【转】5亿个数找中位数
    C++二维数组名的再探索
    转载 图像卷积
    PowerDesigner的使用一
    Spring注解详解
    JSP页面以及简单的指令
    Javascript学习总结
    html第一天
    Chrome开发,debug的使用方法。
    SVN使用
  • 原文地址:https://www.cnblogs.com/bchange/p/9182014.html
Copyright © 2020-2023  润新知