Spring-IOC
1 <!--*****************************************************************************************--> 2 <!-- 使用属性注入数据 --> 3 4 <bean id="car" class = "com.wsl.Car"> 5 <property name="name" value="helloworld"></property> 6 </bean> 7 <!--*****************************************************************************************--> 8 <!-- 构造器初始化数据 , 此时必须存在一个有参数的构造器--> 9 -<bean id = "student" class = "com.wsl.Student"> 10 <property name="id" value ="01"></property> 11 <property name="persion" ref="persion"></property> 12 </bean> 13 <!--*****************************************************************************************--> 14 <!--自动装配 byType 或byName--> 15 <bean id = "student" class="com.wsl.Student" p:id="01" autowire="byType"> 16 </bean> 17 <!-- 引用对象属性 --> 18 <bean id="persion" class = "com.wsl.persion"> 19 <property name="name" value = "wsl"></property> 20 <property name="age" value = "45"></property> 21 </bean> 22 <!--*****************************************************************************************--> 23 <!-- 集合属性 list 和map可以应付大多数情况--> 24 <bean id= "persionset" class = "com.wsl.persionset"> 25 <property name="list"> 26 <list> 27 <ref bean = "persion" /> 28 <ref bean = "persion" /> 29 <ref bean = "persion" /> 30 </list> 31 </property> 32 <property name="city" value = "beijing"></property> 33 <property name="keySet"> 34 <map> 35 <entry key ="AA" value-ref="persion"></entry> 36 <entry key ="BB" value-ref="persion"></entry> 37 </map> 38 </property> 39 </bean> 40 <!--*****************************************************************************************--> 41 <!--bean继承关系 persion 可以设置属性abstract = true成为抽象bean,但此时不能实例化persion--> 42 <bean id="persion" class = "com.wsl.persion"> 43 <property name="name" value = "wsl"></property> 44 <property name="age" value = "45"></property> 45 </bean> 46 <bean id="persion1" parent="persion"> 47 <property name="age" value = "55"></property> 48 </bean> 49 <!--*****************************************************************************************--> 50 <!--bean的生存周期 , scope属性指定 , scope = "singleton"为单例模式 , scope = "prototype" 为实例模式,每次申请都返回不同的实例--> 51 <bean id="persion" class = "com.wsl.persion" scope="prototype"> 52 <property name="name" value = "wsl"></property> 53 <property name="age" value = "45"></property> 54 </bean> 55 56 <!--*****************************************************************************************--> 57 <!--spel--> 58 <bean id="persion" class = "com.wsl.persion" scope="singleton"> 59 <property name="name" value = "#{'wsl'}"></property><!--使用spel设置属性--> 60 <property name="age" value = #{3*15}></property><!--spel表达式设置数据--> 61 </bean> 62 63 <bean id = "student" class = "com.wsl.Student" 64 p:id="01" > 65 <property name="persion" ref="persion"></property> 66 <property name="info" value="#{persion.age > 18 ? '成年人':'未成年人'}"></property><!--使用条件判别--> 67 </bean> 68 69 <!--*****************************************************************************************--> 70 <!--bean初始化和销毁--> 71 <bean id = "student" class = "com.wsl.Student" 72 p:id="01" 73 init-method="init" <!--初始化 并不一定叫这个init函数名,合法即可--> 74 destroy-method="destory" ><!--同上 注意:接口需使用 75 ClassPathXmlApplicationContext ctxApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); 76 获取bean--> 77 <property name="persion" ref="persion"></property> 78 <property name="info" value="#{persion.age > 18 ? '成年人':'未成年人'}"></property> 79 </bean>
Spring基本配置