尚学堂Spring笔记

1.Spring依赖库

    *SPRING_HOME/dist/spring.jar

    *SPRING_HOME/lib/jarkarta-commons/commons-logging.jar

    *SPRING_HOME/lib/log4j/log4j-1.2.14.jar

2.拷贝Spring配置文件到src下

3.拷贝log4j配置文件到src下

4.在UserManagerImpl中提供构造函数或setter方法,spring将实例化的UserDao实现注入给我们

5.让spring管理我们的对象创建和依赖,必须在spring配置中进行定义

6.编写客户端前

 

    spring IoC容器的关键点:

         *必须将被管理的对象定义到spring配置文件中

         *必须定义构造函数或setter方法,让spring将对象注入过来。

 

 

 

    <bean id="userManager" class="com.bjsxt.spring.manager.UserManagerImpl">

              <constructor-arg ref="userDao4OracleImpl">构造方法注入

              <property name="userDao" ref="userDao4OracleImpl"> setter方法

 

 

 

--------------------------------------------------------------------------------------------------------------------------------------

1.spring 的普通属性注入

      参见:spring文档3.3章节

 

     什么是属性编辑器,作用?

       *自定义属性编辑器,spring配置文件中的字符串装换成相应的对象进行注入

        spring已经有内置的属性编辑器,我们可以根据需求自己定义属性编辑器

      

        *如何定义属性编辑器?

             *继承PropertyEditorSupport类,覆写setAsText()方法,参见:UtilDatePropertyEditor.java

             *将属性编辑器注册到spring中,参见:applicationContext-editor.xml

 

    依赖对象的注入方式,可以采用:

      *ref属性

      *<ref>标签

      *内部<bean>来定义

   如何将 公共的注入定义描述出来?

       *通过<bean>标签定义公共的属性,指定abstract=true

       *具有相同属性的类在<bean>标签中指定其parent属性

 

 

 

<!--applicationContext-editor,xml-->

    <beans    ******>   

        <bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfiurer">

                  <property name="customEditors">

                         <map>

                                <entry key="java.util.Date">

                                       <bean class="com.bjsxt.spring.UtilDatePropertyEditor"/>

                                 </entry>

                         </map>

                    </property>

          </bean>

 

     </beans>

 

 

 

<!--UtilDatePropertyEditor.java-->

 

public class UtilDatePropertyeditor  extends PropertyEditorSupport {

 

      private String format = "yyyy-MM-dd";

      public void serAsText (String text) throws IllegalArgumentException{

     

               system.out.println("UtilDatePropertyEditor.saveAsText ()--text="+text);

               SimpleDateFormat sdf= new SimpleDateFormat (format);

                try{

                      Date d= sdf.parse(text);

                        this.serVale(d) ;

                }catch(ParseException e ){

                     e.printStackTrace();

                }

      }

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值