代码改变世界

spring-02

2018-11-04 16:44  crow!  阅读(162)  评论(0编辑  收藏  举报

 

构造方法

Dept.java
package cn.mldn.vo;

import java.io.Serializable;

@SuppressWarnings("serial")
public class Dept implements Serializable {
    
    private Integer deptno ;
    private String  dname ;
    private String  loc ;
    public Dept(Integer deptno,String dname , String loc) {
        this.deptno=deptno ;
        this.dname=dname ;
        this.loc = loc ;
    }
    @Override
    public String toString() {
        return "Dept [deptno=" + deptno + ", dname=" + dname + ", loc=" + loc + "]";
    }
}

applicationContext.xml

第一种方法

        <!-- 定义一个java类的对象,一但定义之后在Spring启动之后就表示可以自动实例化  -->
        <bean id="dept" class="cn.mldn.vo.Dept" >
            <constructor-arg index="0" value="10"/>
            <constructor-arg index="1" value="开发部"/>
            <constructor-arg index="2" value="北京"/>
        </bean>

第二种方法

        <bean id="dept" class="cn.mldn.vo.Dept" >
            <constructor-arg type="java.lang.Integer" value="10"/>
            <constructor-arg type="java.lang.String" value="开发部"/>
            <constructor-arg type="java.lang.String" value="北京"/>
        </bean>

 

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

Dept.java

package cn.mldn.vo;

import java.beans.ConstructorProperties;
import java.io.Serializable;

@SuppressWarnings("serial")
public class Dept implements Serializable {
    
    private Integer deptno ;
    private String  dname ;
    private String  loc ;
    @ConstructorProperties(value= {"pdeptno","pdname","ploc"})
    public Dept(Integer deptno,String dname , String loc) {
        this.deptno=deptno ;
        this.dname=dname ;
        this.loc = loc ;
    }
    
    @Override
    public String toString() {
        return "Dept [deptno=" + deptno + ", dname=" + dname + ", loc=" + loc + "]";
    }
}

applicationContext.xml

        <bean id="dept" class="cn.mldn.vo.Dept" >
            <constructor-arg name="pdeptno" value="10"/>
            <constructor-arg name="pdname" value="开发部"/>
            <constructor-arg name="ploc" value="北京"/>
        </bean>

 

---->test<-----

        ApplicationContext ctx = new ClassPathXmlApplicationContext(
                "applicationContext.xml");
        // 将容器中已经可以使用的对象接收过来调用
        Dept dept = ctx.getBean("dept" ,Dept.class);
        
        System.out.println(dept);

result

Dept [deptno=10, dname=开发部, loc=北京]