Spring Core模块中JavaBean配置

1.基本的bean配置

   一个bean中通常需要定义最基本的两个属性id和class。class属性是必须的。如果一个Bean中需要引用另一个Bean,那么id属性也是必须的。Bean通过id属性相互访问。

     eg:   <bean id = "demoBean" class = "DemoBean"/>     等价于:DemoBean demo = new DemoBean();


 2.通过factory-method

   如果一个Bean不能通过new来创建一个实例,而是通过某个工厂类的某个方法来创建,需要把bean的class属性配置 成这个工厂类,factory-method属性配置为产生实例的方法。

   eg:  <bean id = "demoBean" class = "MyFactoryBean" factory-method = "createBean"/>

             等价于:demoBean = MyFactoryBean.createBean();


3.构造函数<constructor-arg>

     如果JavaBean构造函数带有参数,需要指定构造函数的参数。参数的先后顺序与构造函数中的参数顺序相同

     eg: <bean id = "deamoBean" class = "DemoBean">

                 <constructor-arg><ref bean = "demoBean1"></constructor-age>

                 <constructor-age><value>1</value></constructor-age>

           </bean>

 等价于 public class DemoBean{

                private DeamoBean1 demoBean1;

                private int value;

                public DemoBean (DemoBean1 demoBean1,int value){

                        this.demoBean1 = demoBean1;

                        this.value = value;

                }

        }


4.单例模式singleton

     Bean中还可以定义是否为单例模式。单例模式即在程序中只有一个实例。有的java对象只要有一个就足够了,例如数据源的Bean一般就配置为单例模式。如果想配置为非单例模式,将singleton属性值定义为false。Spring框架默认singleton为true,即为单例模式

      eg: <bean id = "dataSource" class = "DataSource" singleton = "false"?/>


5.普通属性<property>

   Spring 通过Bean的setter方法设置属性,所有一般需要由Spring注射的属性都有setter和getter方法;property通常有2个属性,name 和value。<property>有两个不同的写法

     eg : <bean id = "demoBean" class = "DemoBean">

                  <property name = "username" value = "root"></property>

                  <property name = "userpass" >

                       <value >root</value>

                 </property>

            </bean>

   等价于:    DemoBean demoBean = new DemoBean();

                    demoBean.setUsername("root");

                    demoBean.setUserpass("root");


6.对象属性<ref>

   Spring配置文件中的Bean之间可以相互引用,引用时用<ref>配合Bean的id属性使用。

     eg: <bean id = "demoBean" class = "DemoBean"/>

           <bean id = "demoBean1" class = "DemoBean1">

                 <property name = "dao">

                       <ref   bean = "demoBean">

                 </property>

                  <property  name = "dao1">

                         <bean  class = "DemoBean2"/><!--使用匿名对象-->

                 </property>

           </bean>


7.配置Lists属性<list>

  可以配置任意类型的对象

      <property name = "someList">

      <list>

              <value>String,Integer,Double等对象</value>

              <ref  bean = ""/>

        </list>

     </property>

8.配置Set属性<set>

     和list配置一样

9.配置Map属性<map>

     <property>

            <map>

                  <entry key = "one">

                       <value>just  some String</value>

                  </entry>

                  <entry key-ref = "two">

                       <ref bean = ""/>

                  </entry>

           </map>

      </property>

10.配置Properties属性<props>

       使用<props>与<prop>配置Properties属性,<props>配置一个Properties对象,<prop>配置一条属性,属性key配置索引

   eg: <property name = "props">

              <props>

                    <prop key = "one">root</prop>

                    <prop key = "two">root</prop>

              </props>

          </property>

     等价于:    Properties props = new Properties (){

                           {

                                   put ("one","root");

                                   put("two","root");

                           }

                     };









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值