Spring笔记 - Bean xml装配
命名空间表
|
aop |
Provides elements for declaring aspects and for automatically proxying @AspectJannotated classes as Spring aspects. |
|
beans |
The core primitive Spring namespace, enabling declaration of beans and how they |
|
context |
Comes with elements for configuring the Spring application context, including the abil- |
|
jee |
Offers integration with Java EE APIs such as JNDI and EJB. |
|
jms |
Provides configuration elements for declaring message-driven POJOs. |
|
lang |
Enables declaration of beans that are implemented as Groovy, JRuby, or BeanShell |
|
mvc |
Enables Spring MVC capabilities such as annotation-oriented controllers, view control- |
|
oxm |
Supports configuration of Spring’s object-to-XML mapping facilities. |
|
tx |
Provides for declarative transaction configuration. |
|
util |
A miscellaneous selection of utility elements. Includes the ability to declare collec- |
简单Bean配置
基本配置
<bean id="sonnet29" class="ch2_idol.Sonnet29"/>
构造器注入
<bean id="poeticJuggler" class="ch2_idol.PoeticJuggler">
<constructor-arg value="15"/>
<constructor-arg ref="sonnet29"/>
</bean>
静态方法注入
<bean id="stage" class="ch2_idol.Stage" factory-method="getInstance"/>
scoping方式默认是单例singletons.
<bean id="ticket" class="com.springinaction.springidol.Ticket" scope="prototype"/>
| singleton | Scopes the bean definition to a single instance per Spring container (default). |
| prototype | Allows a bean to be instantiated any number of times (once per use). |
| request | Scopes a bean definition to an HTTP request. Only valid when used with a web-capable Spring context (such as with Spring MVC). |
| session | Scopes a bean definition to an HTTP session. Only valid when used with a web-capable Spring context (such as with Spring MVC). |
| global-session | Scopes a bean definition to a global HTTP session. Only valid when used in a portlet context. |
初始化bean调用方法,销毁方法
<bean id="auditorium" class="ch2_idol.Auditorium" init-method="turnOnLights" destroy-method="turnOffLights"/>
也可以不配置,但实现InitializingBean ,DisposableBean接口
也可以在头部设置 default-init-method="turnOnLights" default-destroy-method="turnOffLights"所有bean初始化时调用,除非它有
属性注入
<bean id="instrumentalist" class="ch2_idol.Instrumentalist" >
<property name="song" value="JingleBells"></property>
<property name="instrument" ref="saxophone"></property>
</bean>
内部类
<bean id="kenny" class="com.springinaction.springidol.Instrumentalist">
<property name="song"value="JingleBells"/>
<property name="instrument">
<bean class="org.springinaction.springidol.Saxophone"/>
</property>
</bean>
p标记
命名空间xmlns:p="http://www.springframework.org/schema/p
<bean id="kenny" class="com.springinaction.springidol.Instrumentalist"
p:song="JingleBells"
p:instrument-ref="saxophone"/>
集合
| <list> | Wiring a list of values, allowing duplicates |
| <set> | Wiring a set of values, ensuring no duplicates |
| <map> | Wiring a collection of name-value pairs where name and value can be of any type |
| <props> | Wiring a collection of name-value pairs where the name and value are both Strings |
<bean id="oneManBand1" class="ch2_idol.OneManBand">
<property name="instruments">
<list>
<ref bean="saxophone"/>
<ref bean="piano"/>
<ref bean="piano"/>
</list>
</property>
</bean>
<!-- 会去重 -->
<bean id="oneManBand" class="ch2_idol.OneManBand">
<property name="instruments">
<set>
<ref bean="saxophone"/>
<ref bean="piano"/>
<ref bean="piano"/>
</set>
</property>
</bean>
<property name="instruments">
<map>
<entry key="GUITAR" value-ref="guitar"/>
<entry key="CYMBAL" value-ref="cymbal"/>
<entry key="HARMONICA" value-ref="harmonica"/>
</map>
</property>
<property name="instruments">
<props>
<prop key="GUITAR">STRUMSTRUMSTRUM</prop>
<prop key="CYMBAL">CRASHCRASHCRASH</prop>
<prop key="HARMONICA">HUMHUMHUM</prop>
</props>
</property>
空标记
<property name="instruments"><null/></property>
Spring笔记 - Bean xml装配的更多相关文章
- Spring 之通过 XML 装配 bean
1.关于 使用传统标签还是 c- p- 命名空间定义的标签, 我的观点是能用 c- p- 命名空间定义的标签 就不用 传统标签(这样会比较简洁... 2.强依赖使用构造器注入,可选性依赖使用属性注入 ...
- Spring - 配置Bean - 自动装配 关系 作用域 引用外部属性文件
1 Autowire自动装配1.1 使用:只需在<bean>中使用autowire元素<bean id="student" class="com.kej ...
- Spring温故而知新 - bean的装配(续)
按条件装配bean 就是当满足特定的条件时Spring容器才创建Bean,Spring中通过@Conditional注解来实现条件化配置bean package com.sl.ioc; import ...
- Spring温故而知新 - bean的装配
Spring装配机制 Spring提供了三种主要的装配机制: 1:通过XML进行显示配置 2:通过Java代码显示配置 3:自动化装配 自动化装配 Spring中IOC容器分两个步骤来完成自动化装配: ...
- Spring 中Bean的装配方式
最近又买了一本介绍SSM框架的书,是由黑马程序员编写的,书上讲的很好理解,边看边总结一下.主要总结一下bean的装配方式. Bean的装配可以理解为依赖系统注入,Bean的装配方式即Bean依赖注入的 ...
- Spring温故而知新 – bean的装配
Spring装配机制 Spring提供了三种主要的装配机制: 1:通过XML进行显示配置 2:通过Java代码显示配置 3:自动化装配 自动化装配 Spring中IOC容器分两个步骤来完成自动化装配: ...
- Spring ( 三 ) Spring的Bean的装配与生命周期、专用测试
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.对象的生命周期 1.IOC之Bean的生命周期 创建带有生命周期方法的bean public cla ...
- java开发两年,连Spring中bean的装配都不知道?你怎么涨薪啊
Spring 1.1.1.1 创建一个bean package com.zt.spring; public class MyBean { private String userName; privat ...
- [spring]spring的bean自动装配机制
7.bean的自动装配 是spring满足bean依赖的一种方式 spring会在上下文中自动寻找,并自动给bean装配属性 spring的装配方式: (1)手动装配 在people类中依赖了cat和 ...
随机推荐
- js this [转]
this是js的一个关键字,随着函数使用场合不同,this的值会发生变化.但是总有一个原则,那就是this指的是调用函数的那个对象. 1.纯粹函数调用. function test() { this. ...
- Python之路:Python 基础(三)-文件操作
操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 文件句柄 = file('文件路径', '模式') # 还有一种方法open 例1.创建文件 f = file('myfile. ...
- 2013 南京邀请赛 A play the dice 求概率
/** 大意:给定一个色子,有n个面,每一个面上有一个数字,在其中的m个面上有特殊的颜色,当掷出的色子出现这m个颜色之一时,可以再掷一次..求其最后的期望 思路:假设 期望为ans 4 ans = 1 ...
- this class is not key value coding-compliant for the key detailItem
我出这个错误是因为,自己的一个视图没有给指定想用的viewController文件..及一个classController控制一个xib文件,忘给该视图指定控制器了.
- django中间件templates写法
def templates_context_process(request): from django.contrib.sites.models import Site from accounts.m ...
- bootstrap基础知识
Bootstrap是Twitter推出的一款简洁.直观.强悍的前端开发框架. Bootstrap基于 HTML.CSS.JAVASCRIPT.它由Twitter的设计师Mark Otto和Jacob ...
- myeclipse部署时An internal error occurred 错误的几种情况
myecplise上将工程部署到应用下时,经常出现 An internal error occurred during: "Add Deployment". java.lang.N ...
- java如何把char型数据转换成int型数据(转)
一字符串,String=“2324234535”:把第i个数取出来时是char型的:char temp=String.charAt(i)如何把char型转换成int型?我需要求个尾数之和,如:123的 ...
- [置顶] High Performance Canvas Game for Android
Rule #0 为移动平台进行优化 为移动平台进行优化是十分重要的,因为移动平台的性能大概只有桌面平台的1/10左右(*1),它通常意味着: 更慢的CPU速度,这意味着不经过优化的JavaScript ...
- [置顶] linux常用命令手册
前言:整理了一份linux常用命令手册,与大家分享.这是一些比较常用的命令. 我已经整理成一份PDF带书签的手册,可以到CSDN免费下载. 下载地址:http://download.csdn.net/ ...