SPRING笔记记载

SPRING的核心:IOC,AOP

IOC容器

<bean id="userManager" class="com.bjsxt.spring.manager.UserManagerImpl">
  <!-- 构造方法注入
  <constructor-arg ref="userDao4OracleImpl"/>
   -->

<!-- Setter注入 一个类中的属性只要有setter方法就可以注入-->
   <property name="userDao" ref="userDao4OracleImpl"/>
 </bean>

 

各种类型的属性的注入


 <bean id="bean1" class="com.bjsxt.spring.Bean1">
  <property name="strValue" value="Hello"/>
   <property name="intValue">
    <value>123</value>
   </property>
   <property name="listValue">
    <list>
     <value>list1</value>
     <value>list2</value>
    </list>
   </property>
   <property name="setValue">
    <set>
     <value>set1</value>
     <value>set2</value>
    </set>
   </property>
   <property name="arrayValue">
    <list>
     <value>array1</value>
     <value>array2</value>
    </list>
   </property>
   <property name="mapValue">
    <map>
     <entry key="k1" value="v1"/>
     <entry key="k2" value="v2"/>
    </map>
   </property>
   <property name="dateValue">
    <value>2008-08-15</value>
   </property>
 </bean>

 

1、spring的普通属性注入 
 
什么是属性编辑器,作用?
 * 自定义属性编辑器,spring配置文件中的字符串转换成相应的对象进行注入
 spring已经有内置的属性编辑器,我们可以根据需求自己定义属性编辑器
 
 * 如何定义属性编辑器?
  * 继承PropertyEditorSupport类,覆写setAsText()方法,参见:UtilDatePropertyEditor.java
  * 将属性编辑器注册到spring中,参见:applicationContext-editor.xml
  
依赖对象的注入方式,可以采用:
 * ref属性
 * <ref>标签
 * 内部<bean>来定义
 
如何将公共的注入定义描述出来?
 * 通过<bean>标签定义公共的属性,指定abstract=true
 * 具有相同属性的类在<bean>标签中指定其parent属性

 

DTD中定义两种方试,按名称自动装配,按类型自动装配

default-autowire="byType"

default-autowire="byNAME"

Bean的作用域

<!--
 <bean id="bean1" class="com.bjsxt.spring.Bean1" scope="singleton"/>
  -->
 <bean id="bean1" class="com.bjsxt.spring.Bean1" scope="prototype"/>

posted @ 2008-09-22 23:14  暗夜精灵nightelf  阅读(344)  评论(0编辑  收藏  举报