Spring高级应用之注入嵌套Bean
2016-04-30 23:31
357 查看
在Spring中,如果某个Bean所依赖的Bean不想被Spring容器直接访问,可以使用嵌套Bean。和普通的Bean一样,使用<bean>元素来定义嵌套的Bean,嵌套Bean只对它的外部的Bean有效,Spring容器无法直接访问嵌套的Bean,因此定义嵌套Bean也无需指定id属性。如下配置片段是一个嵌套Bean的示例:
?
采用上面的配置形式可以保证嵌套Bean不能被容器访问,因此不用担心其他程序修改嵌套Bean。外部Bean的用法和使用结果和以前没有区别。
嵌套Bean提高了Bean的内聚性,但是降低了程序的灵活性。只有在确定无需通过Spring容器访问某个Bean实例时,才考虑使用嵌套Bean来定义。
使用嵌套Bean与使用ref引用容器中另一个Bean在本质上是一样的,但是,如果使用ref,则ref的这个Bean不仅可以被容器直接访问(如使用ClassPathXmlApplicationContext的getBean()方法获取其实例),还可以为其它的Bean所使用(如果这些Bean中含有这个类型的属性)。所以是否使用嵌套Bean,得看实际需求。
?
嵌套Bean提高了Bean的内聚性,但是降低了程序的灵活性。只有在确定无需通过Spring容器访问某个Bean实例时,才考虑使用嵌套Bean来定义。
使用嵌套Bean与使用ref引用容器中另一个Bean在本质上是一样的,但是,如果使用ref,则ref的这个Bean不仅可以被容器直接访问(如使用ClassPathXmlApplicationContext的getBean()方法获取其实例),还可以为其它的Bean所使用(如果这些Bean中含有这个类型的属性)。所以是否使用嵌套Bean,得看实际需求。
相关文章推荐
- java环境变量设置
- 第一个Java程序
- Spring高级应用之注入各类集合
- Spring事务——Spring 2.X的事务配置策略
- Spring事务——使用TransactionProxyFactoryBean创建事务代理
- 深入理解Java虚拟机(一)-jvm运行时数据区
- spring mvc的类型转换
- java基础之异常处理(一)
- java控制台输入带空格的字符串
- java控制台输入带空格的字符串
- 20145330第九周《Java学习笔记》
- Java关键字null
- JDK源码浅析之String类
- Java Swing中Substance常用皮肤
- 第一章 Spring快速入门
- Eclipse 反编译插件安装 jad->jd-gui
- Java获取路径中文问题解决
- JAVA多线程之线程的挂起与恢复(suspend方法与resume方法)
- Struts1+Spring+Hibernate整合
- Spring Boot 属性配置和使用