- 浏览: 633129 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (820)
- java开发 (110)
- 数据库 (56)
- javascript (30)
- 生活、哲理 (17)
- jquery (36)
- 杂谈 (15)
- linux (62)
- spring (52)
- kafka (11)
- http协议 (22)
- 架构 (18)
- ZooKeeper (18)
- eclipse (13)
- ngork (2)
- dubbo框架 (6)
- Mybatis (10)
- 缓存 (28)
- maven (20)
- MongoDB (3)
- 设计模式 (3)
- shiro (10)
- taokeeper (1)
- 锁和多线程 (3)
- Tomcat7集群 (12)
- Nginx (34)
- nodejs (1)
- MDC (1)
- Netty (7)
- solr (15)
- JSON (8)
- rabbitmq (32)
- disconf (7)
- PowerDesigne (0)
- Spring Boot (31)
- 日志系统 (6)
- erlang (2)
- Swagger (3)
- 测试工具 (3)
- docker (17)
- ELK (2)
- TCC分布式事务 (2)
- marathon (12)
- phpMyAdmin (12)
- git (3)
- Atomix (1)
- Calico (1)
- Lua (7)
- 泛解析 (2)
- OpenResty (2)
- spring mvc (19)
- 前端 (3)
- spring cloud (15)
- Netflix (1)
- zipkin (3)
- JVM 内存模型 (5)
- websocket (1)
- Eureka (4)
- apollo (2)
- idea (2)
- go (1)
- 业务 (0)
- idea开发工具 (1)
最新评论
-
sichunli_030:
对于频繁调用的话,建议采用连接池机制
配置TOMCAT及httpClient的keepalive以高效利用长连接 -
11想念99不见:
你好,我看不太懂。假如我的项目中会频繁调用rest接口,是要用 ...
配置TOMCAT及httpClient的keepalive以高效利用长连接
//////////////////////////////////
如何载入所有同类型的bean
//////////////////////////////////
使用BeanFatory的getBeansOfType()方法,该方法返回一个Map类型的实例,Map中的key为Bean的名,key对应的内容为Bean的实例。
该方法有两种类型的重载
getBeansOfType(Class),获取某一类的所有的bean。
getBeansOfType(Class,boolean,boolean),后面两个布尔值,第一代表是否也包含原型(Class祖先)bean或者或者只是singletons(包含FactoryBean生成的),第二个表示是否立即实例化懒加载或者由FactoryBean生成的Bean以保证依赖关系。
例程代码:
配置如下
Hello!Justin!
Hello!caterpillar!
程序如下
Map helloBeans = factory.getBeansOfType(HelloBean.class, false, false);
在applicationContext.xml配置文件中,有如下的bean配置
使用applicationContext方法getBeansOfType()得当的map如下所示
map={&configproperties_disconf=ReloadablePropertiesFactoryBean, &configproperties_no_reloadable_disconf=ReloadablePropertiesFactoryBean}
参考:http://blog.sina.com.cn/s/blog_5d03c2970102wa87.html
如何载入所有同类型的bean
//////////////////////////////////
使用BeanFatory的getBeansOfType()方法,该方法返回一个Map类型的实例,Map中的key为Bean的名,key对应的内容为Bean的实例。
该方法有两种类型的重载
getBeansOfType(Class),获取某一类的所有的bean。
getBeansOfType(Class,boolean,boolean),后面两个布尔值,第一代表是否也包含原型(Class祖先)bean或者或者只是singletons(包含FactoryBean生成的),第二个表示是否立即实例化懒加载或者由FactoryBean生成的Bean以保证依赖关系。
例程代码:
配置如下
Hello!Justin!
Hello!caterpillar!
程序如下
Map helloBeans = factory.getBeansOfType(HelloBean.class, false, false);
在applicationContext.xml配置文件中,有如下的bean配置
<!-- 使用托管方式的disconf配置(无代码侵入, 配置更改会自动reload)--> <bean id="configproperties_disconf" class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean"> <property name="locations"> <list> <value>classpath:/autoconfig.properties</value> <value>classpath:/autoconfig2.properties</value> <value>classpath:/myserver_slave.properties</value> <value>classpath:/testJson.json</value> <value>testXml2.xml</value> </list> </property> </bean> <bean id="configproperties_no_reloadable_disconf" class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean"> <property name="locations"> <list> <value>myserver.properties</value> </list> </property> </bean>
使用applicationContext方法getBeansOfType()得当的map如下所示
Class<ReloadablePropertiesFactoryBean> type = ReloadablePropertiesFactoryBean.class; Map<String, ReloadablePropertiesFactoryBean> map = applicationContext.getBeansOfType(type); System.out.println("map="+map.toString());
map={&configproperties_disconf=ReloadablePropertiesFactoryBean, &configproperties_no_reloadable_disconf=ReloadablePropertiesFactoryBean}
参考:http://blog.sina.com.cn/s/blog_5d03c2970102wa87.html
发表评论
-
TransactionalEventListener注解
2021-07-04 12:14 1119TransactionalEventListener注解 记 ... -
Spring核心之bean
2021-06-16 13:49 216Spring Aop介绍 AOP,确实难,会让很多人懵逼 ... -
不使用@EnableTransactionManagement注解就能使用事务
2021-06-13 11:03 477https://blog.csdn.net/weixin_38 ... -
spring4.1.8扩展实战之三
2019-01-03 23:35 415spring4.1.8扩展实战之三:广播与监听 https:/ ... -
Spring装配Bean的过程
2018-03-22 20:40 351(spring-第1回【IoC基础篇】)Spring容器中Be ... -
第三章 DispatcherServlet详解 ——跟开涛学SpringMVC
2018-03-20 19:54 484http://jinnianshilongnian.iteye ... -
Spring事件机制
2017-10-26 22:56 347Spring事件机制的简单例子 http://blog.cs ... -
Spring3.1新属性管理API:PropertySource、Environment、Profile
2017-09-06 20:17 433http://jinnianshilongnian.iteye ... -
FactoryBean的实现原理与作用
2017-09-05 20:50 0FactoryBean的实现原理与作用 http://blog ... -
@Inject和@Autowired以及@Resource区别
2017-08-21 15:52 731@value 注解配置默认值 但是,如果配置文件中没有设置 n ... -
通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
2017-08-02 09:51 547关于在spring 容器初始化 bean 和销毁前所做的操作 ... -
Spring HttpInvoker远程调用的例子
2017-07-20 19:42 407http://blog.csdn.net/liuhui_306 ... -
spring 获取bean的几种方式
2017-07-20 17:36 404http://www.cnblogs.com/luoluosh ... -
一句话概括下spring框架及spring cloud框架主要组件
2017-07-19 16:56 44作为java的屌丝,基本上 ... -
AOP日志,记录调用类、方法、方法参数名称、方法参数值(包括对象和基本类型)
2017-07-15 19:15 2243http://blog.csdn.net/paincupid/ ... -
spring mvc Controller中使用@Value无法获取属性值
2017-06-28 17:14 966http://www.cnblogs.com/xianan87 ... -
4种方法让SpringMVC接收多个对象
2017-06-06 11:23 531http://blog.csdn.net/lutinghuan ... -
springmvc在普通类中获取HttpServletRequest对象
2017-05-25 17:18 730https://stackoverflow.com/quest ... -
spring的配置文件中mvc:view-controller path使用方法
2017-05-14 13:11 878[list] 1、重定向 <mvc:view-contr ... -
warning no match for this type name: com.cloud.access.web [Xlint:invalidA
2017-02-27 08:47 1533warning no match for this type ...
相关推荐
例如,`T getBean(String name, Class<T> requiredType)` 和 `Map, T> getBeansOfType(Class<T> type)` 方法的加入使得操作更加直观和安全。 2. **TaskExecutor接口更新** TaskExecutor接口继承自`java.util....
例如,`getBean()`方法用于获取指定名称的Bean实例,`getBeansOfType()`则可以获取所有指定类型的Bean。 2. `BeanFactory`:它是`ApplicationContext`的父接口,提供更底层的Bean管理功能。虽然在实际开发中通常...
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它允许对象间的依赖关系被外部容器管理,而不是由对象自身负责。Spring IoC(Inversion of Control)容器是实现DI的核心组件。本章...
从`ApplicationContext`中获取Bean有两种方式:通过`getBean(String beanId)`获取指定ID的Bean,或者通过`getBeansOfType(Class<?> requiredType)`获取所有指定类型的Bean。 总的来说,Spring框架通过提供IoC和DI,...
在本主题中,我们将深入探讨如何使用Spring Boot与Apache Shiro进行权限管理。Spring Boot以其简洁的配置和快速的应用开发特性,已经成为了Java领域中的热门框架。而Shiro则是一款强大的安全框架,提供了身份验证、...
`ApplicationContext`提供了多个变体的`getBean`方法,如`getBean(String)`,`getBean(Class)`和`getBeansOfType(Class)`。后者可以获取所有匹配类型的Bean。 6. **`BeanFactory`接口** 如果你不需要完整的...
Map, ServiceInterface> beanMap = applicationContext.getBeansOfType(ServiceInterface.class); for (ServiceInterface serviceImpl : beanMap.values()) { serviceImplMap.put(serviceImpl.toString(), ...
Map, Person> map = applicationContext.getBeansOfType(Person.class); System.out.println(map); } } ``` 输出的结果: 当前系统为:Mac OS X {linus=Person(name=Linus, age=48)} 从上面的示例可以看到,...
Map, Person> map = applicationContext.getBeansOfType(Person.class); System.out.println(map); } } ``` 测试结果: ``` {bill=Person{name='Bill Gates',age=62},linus=Person{name='Linus',age='48'}} ``` ...
map = applicationContext.getBeansOfType(IService.class); } public Map, IService> getMap() { return map; } } ``` 在上面的代码中,我们使用了 Spring 的 `ApplicationContext` 来获取所有的接口实现类...