<!--构造器注入--> <bean id="cDPlayer" class="com.CDPlayer"> <constructor-arg ref="compactDisc"> </bean> <bean id="cDPlayer" class="com.CDPlayer"> <constructor-arg value="compactDisc"> </bean> <bean id="cDPlayer" class="com.CDPlayer"> <constructor-arg> <list> <value></value> </list> </constructor-arg> </bean> <!--setter注入--> <bean id="cDPlayer" class="com.CDPlayer"> <property name="compactDisc" ref="compactDisc"> </bean> <bean id="cDPlayer" class="com.CDPlayer"> <property name="compactDisc" value="compactDisc"><!--装配字面量:--> </bean> 装配集合 <bean id="cDPlayer" class="com.CDPlayer"> <property name="compactDisc" value="compactDisc"> <property name=""> <list> <value></value><!--装配集合--> </list> </property> </bean>
View Code2、@scope 指定bean创建时的作用域,Spring默认创建单例模式的bean。但也有特殊的情况,这里需要说明的是如果某个类注入了Session 和 Request 作用域的Bean,因为这个Bean是在用户请求的时候产生的,在Spring 运行起来的时候并不存在。这里Spring是这样处理的:注入给对应Bean的一个代理,而当用户请求产生session 或者 request 作用域Bean的时候,由这个代理连接到相应的Bean处理请求...
原型:@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
会话:(接口)@Scope(value = WebApplicationContext.SCOPE_SESSION,proxyMode = ScopedProxyMode.INTERFACES)
(具体类)@Scope(value = WebApplicationContext.SCOPE_SESSION,proxyMode = ScopedProxyMode.TARGET_CLASS)
当然也可以在XML中配置:
<bean id="shoppingCart2" class="com.entity.ShoppingCart2" scope="session"> <aop:scoped-proxy proxy-target-class="false"/> </bean>
View Code3、限定符(用的较少)
@Profile 决定哪些bean可以被激活。需要注意的是没有指定profile的bean始终都会被创建,与激活哪个profile没有关系。
@Conditional中给定了一个Class,这个Class 实现了Codition 接口的matches 方法,该方法返回true 则生成bean,否则不生成。