方法一:
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. SharePoint server 2016中文版导出list template,在另外一个环境不能显示

    SharePoint server 2016中文版导出list template,在另外一个环境不能显示,解决方案: $web = Get-SPWeb <url of web> $web. ...

  2. org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException: Listener threw exception

    RabbitMQ   报出的错! org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException ...

  3. 关于org.apache.shiro.SecurityUtils.getSubject().getSession()

     Subject currentUser = SecurityUtils.getSubject();    Session session = currentUser.getSession();  s ...

  4. java集合的部分接口

    接口 Collection<E> public interface Collection<E>extends Iterable<E> Collection 层次结构 ...

  5. 一篇搞定SQLAlchemy--关系对象映射

    要使用SQLAlchemy,必须先下载这个模块 pip3 install sqlalchemy 或 pycharm File--> Settings-->project...-->P ...

  6. android studio 和gradle版本问题解决

    打开android studio 开始导入一个 covrdova项目 结果弹出一个这样的对话框意思是  "尚未配置此项目的 gradle" "是否希望项目使用gradle ...

  7. Hexo+yilia添加helper-live2d插件宠物动画,很好玩的哦~~

    个人主页:https://www.yuehan.online 现在博客:www.wangyurui.top 安装模块: 博客根目录选择cmd命令窗口或者git bash 输入以下代码,安装插件 操作: ...

  8. Facebook支持python的开源预测工具Prophet

    Facebook 宣布开源一款基于 Python 和 R 语言的数据预测工具――“Prophet”,即“先知”.取名倒是非常直白. Facebook 表示,Prophet 相比现有预测工具更加人性化, ...

  9. 标准c内存函数的使用方法

    标准c内存函数 calloc 语法:     #include <stdlib.h>   void *calloc( size_t num, size_t size ); 功能: 函数返回 ...

  10. jquery ajax属性async(同步异步)示例

    在jquery的ajax中如果我们希望实现同步或者异步我们可以直接设置async发生为真或假即可true false,下面举几个jquery ajax同步和异步实例 例1.jquery+ajax/&q ...