spring动态加入bean
2016-12-06 17:56
267 查看
package com.jd.testjsf; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class DynamicSpringRegister { public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "/spring.xml"); ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) context; BeanDefinitionRegistry registry = (BeanDefinitionRegistry)configurableApplicationContext.getBeanFactory(); BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(House.class) .setInitMethodName("init"); registry.registerBeanDefinition("house", builder.getRawBeanDefinition()); String[] beanNames = context.getBeanDefinitionNames(); for(String beanName:beanNames){ System.err.println(context.getBean(beanName)); if(beanName.equals("house")){ House house = (House) context.getBean(beanName); house.print(); } } context.close(); } } class House{ private int square; public void init(){ this.square=100; } public void print(){ System.out.println(square); } }
相关文章推荐
- Hbase-1.2.4 javaAPI实现简单的类CRUD操作
- Java 学习
- Hbase-1.2.4 javaAPI操作总结
- Spring MVC之@RequestParam @RequestBody @RequestHeader 等详解
- 从C转到Java下打通了任督二脉
- 你应当知道的 7 个 Java 新工具
- java 多线程 解决资源冲突
- 0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题
- 基于rest的SpringSecurity(依赖csrf)
- JMeter学习-017-java.net.SocketException: Permission denied: connect 解决方案
- Java基础学习总结(10)——JAVA解析XML
- JAVA 动态代理
- 解决dom4j java.lang.NoClassDefFoundError: org/jaxen/JaxenException
- java企业级应用之术语篇,值得一看!
- RxJava 入门 慕课网
- Java中数组冒泡排序
- MyBatis+Spring分页插件配置
- Spring 的简单理解
- SpringMVC @RequestBody接收Json对象字符串
- java一维数组转化为二维数组的代码