码迷,mamicode.com
首页 > 编程语言 > 详细

Spring学习-2-Spring IOC容器

时间:2016-08-06 11:16:35      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

作用:创建对象 & 处理对象依赖关系

容器创建对象的方式

1)调用无参数构造器

    <bean id="user" class="com.cx.createObj.User"></bean>

2)带参数构造器

<bean id="user" class="com.cx.createObj.User">

        <constructor-arg index="0" type="int" value="100"></constructor-arg>
        <constructor-arg index="1" type="java.lang.String" value="Jack"></constructor-arg>

</bean>

<!--定义一个字符串,值时mike-->

<bean id="str" class="java.lang.String">
<constructor-arg value="mike"></constructor-arg>
</bean>

<bean id="user" class="com.cx.createObj.User">

<constructor-arg index="0" type="int" value="100"></constructor-arg>
<constructor-arg index="1" type="java.lang.String" ref="str"></constructor-arg>

</bean>

3)工厂创建对象

          工厂类,非静态方法创建对象         

    <!--创建工厂-->
    <bean id="factory" class="com.cx.createObj.ObjectFactory"></bean>

    <bean id="user" factory-bean="factory" factory-method="getInstance"></bean>

          工厂类,静态方法创建对象

    <!--静态方法-->
    <bean id="user" class="com.cx.createObj.ObjectFactory" factory-method="getStaticInstance"></bean>

User实体类

package com.cx.createObj;

/**
 * Created by cxspace on 16-8-6.
 */
public class User {

    private int id;

    private String name;

    public User(){
        System.out.println("----调用无参构造方法----");
    }

    public User(int id , String name){

        this.id = id;
        this.name = name;

        System.out.println("----调用带参数构造器----");
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }



    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name=‘" + name + ‘\‘‘ +
                ‘}‘;
    }

    public void init_user(){
        System.out.println("创建对象之后,初始化");
    }

    public void destroy_user(){
        System.out.println("IOC容器销毁,user对象回收");
    }


}

工厂类

package com.cx.createObj;

/**
 * Created by cxspace on 16-8-6.
 */
public class ObjectFactory {

    //实例方法创建对象
    public User getInstance(){
        return new User(101,"工厂:调用实例方法");
    }

    //静态方法创建对象
    public static User getStaticInstance(){
        return new User(100,"工厂:调用静态方法");
    }

}

 

Spring学习-2-Spring IOC容器

标签:

原文地址:http://www.cnblogs.com/cxspace/p/5743422.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!