Spring(四)Spring的bean的配置
1、id和class
<bean id="man" class="com.icss.controller.Man"></bean>
id:有唯一约束
2、spring的声明周期
<bean id="man" class="main.java.com.icss.testban.Man" init-method="init" destroy-method="end">
init-method 和 destory-method 在这里后面接的是Man类中的方法名
3、spring的作用域

4、spring的属性注入
(1)构造方法赋值--constructor(name, value)
public Man(String name) { this.name = name; }
<bean id="man" class="com.icss.shuxing.Man"> <constructor-arg name="name" value="张三"></constructor-arg> </bean>
(2)set方法赋值--property(name, value / ref)
public void setName(String name) { this.name = name; } public void setWomen(Women women) { this.women = women; }
<bean id="women" class="main.java.com.icss.shuxing.Women"></bean>
<bean id="man" class="com.icss.shuxing.Man"> <property name="name" value="张三123"></property> <property name="women" ref="women"></property> </bean>
注:如果在一个类中属性是引用类型的话,要使用ref代替value,比如这里的women,这样ref就会指向引用的bean的id名称.
(3)p标签属性注入(加依赖、bean中的p)
普通属性:p:属性名 = "值"
对象属性:p:属性名-ref = "值"
注意 需要在.xml文件的bean标签中加入依赖: xmlns:p="http://www.springframework.org/schema/p"
然后配置bean的信息: <bean id="man" class="com.icss.shuxing.Man" p:name="啥地方" p:women-ref="women">
(4)SPEL属性注入--proprty( name, value = "#{属性值}" )
<bean id="man" class="com.icss.shuxing.Man"> <property name="name" value="#{'Man'}"></property> <property name="age" value="#{30}"></property> <property name="women" value="#{women}"></property> </bean>
注意:SPEL的话引用对象如果是其他对象也要使用value, 而不是ref
properties赋值, 符号使用的是$。
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="test.properties"></property> </bean>
(5)集合类型的属性注入--property、list / set / map、(value 或 ref) / entry,(value 或 ref)
private Integer num[]; private List<String> list; private Set<String> set; private Map<String, String> map; public void setList(List<String> list) { this.list = list; } public void setSet(Set<String> set) { this.set = set; } public void setMap(Map<String, String> map) { this.map = map; } public void setAge(int age) { this.age = age; } public void setNum(Integer[] num) { this.num = num; }
.xml文件 在<bean></bean>中间写入:
<property name="num"> <list> <value>1</value> <value>2</value> <value>3</value>
<!--其他对象用: <ref></ref> -->
</list> </property> <property name="list"> <list> <value>11</value> <value>21</value> <value>31</value>
<!--<ref></ref>-->
</list> </property> <property name="set"> <set> <value>11</value> <value>21</value> <value>31</value>
<!--<ref></ref>-->
</set> </property> <property name="map"> <map> <entry key="name" value="大连"></entry> <entry key="hobby" value="玩游戏"></entry> <entry key="sex" value="男"></entry>
<!--<entry key="" ref=""></entry>-->
</map> </property>
(6)注解
                    
                
                
            
        
浙公网安备 33010602011771号