方法一:
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>
 
 
 
 
 

spring启动加载类,手动加载bean的更多相关文章

  1. 在Spring Boot中从类路径加载文件

    介绍 创建Spring Boot Web应用程序时,有时有时需要从类路径中加载文件:war和jar的加载文件格式是不一样的 在下面,您将找到在WAR和JAR中加载文件的解决方案. 资源加载器 使用Ja ...

  2. angularjs自动加载和手动加载

    (一)自动加载 ng-app是angular的一个指令,代表一个angular应用(也叫模块).使用ng-app或ng-app=""来标记一个DOM结点,让框架会自动加载.也就是说 ...

  3. Spring boot添加配置类@Configuration并初始化@Bean,@Resource和@Autowired都为null

    大写加黑,找了好久@Resource和@Autowired都依赖不到创建的bean的原因:@Bean的方法名即是创建的Bean名称 import org.activiti.engine.Process ...

  4. jvm系列(一):java类的加载机制

    java类的加载机制 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装 ...

  5. JVM加载类的过程,双亲委派机制中的方法

    JVM加载类的过程: 1)JVM中类的整个生命周期: 加载=>验证=>准备=>解析=>初始化=>使用=>卸载  1.1.加载 类的加载阶段,主要是获取定义此类的二进 ...

  6. jvm中加载类的全过程

    ClassLoader的作用:概括来说就是将编译后的class装载.加载到机器内存中,为了以后的程序的执行提供前提条件. jvm的整个生命周期,如下图所示 加载=>验证=>准备=>解 ...

  7. 02 Java类的加载机制

    1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构 ...

  8. JVM-01:类的加载机制

    本文从 纯洁的微笑的博客 转载 原地址:http://www.ityouknow.com/jvm.html 类的加载机制 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内 ...

  9. Java 类的加载机制

    1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构 ...

随机推荐

  1. n++ ++n

    n = 100 + m++ n = 100 +m; ++m n = 100 + ++m; ++m; n = 100 +m ;

  2. 仿Windows制作TreeView数据加载

    时间有限就直接贴源码吧,理解思路即可. 页面代码: <asp:TreeView ID="TreeViewLeft" runat="server" Show ...

  3. python系列十三:Python3 输入输出

    #!/usr/bin/python #Python3 输入输出 import math'''输出格式美化Python两种输出值的方式: 表达式语句和 print() 函数.第三种方式是使用文件对象的 ...

  4. velocity 的 escape实现

    EscapeHtmlReference的escape方法调用以下方法实现: StringEscapeUtils.escapeHtml(param); 再调用 org.apache.commons.la ...

  5. 【云图】怎样制作全国KTV查询系统?

    摘要:本文以[唱吧]531麦霸音乐节为案例,具体解读了怎样导入自有数据到高德云图,并进行检索和展示.最后,调起高德mobile地图来进行路线规划和周边查询. 本案例能够应用在微信开发平台,支付宝公众服 ...

  6. K-M-P

    分段K-M-P 只需要记录上一段已经匹配了的长度,再接着从匹配下一段就可以了.

  7. phoneGap实现离线缓存

    引自:http://www.iteye.com/topic/1128173 正在做一个跨平台的应用,需要使用phonegap进行文件的一些基本操作. 需求如下:可以选择本地图片,或者从相机选择图片,并 ...

  8. mysq数据库的安装和基本操作

    一.数据库的简介 1.什么是数据库? 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据库中的数据按一定的数学模型组织.描述和存储,具有较小的冗余,较高的数据独 ...

  9. classmethod

    描述 classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等. 语法 classmeth ...

  10. Mapinfo修改道路方向

    在mapinfp工具管理添加插件Reverse Line Direction,就可以修改道路方向 插件