首页 > 编程语言 > 详细

Spring IOC创建对象的几种方式

时间:2020-08-26 14:26:42      阅读:92      评论:0      收藏:0      [点我收藏+]

一:调用无参数构造器

 public User(){
       super();
       System.out.println("无参数构造器");
    }

在Spring的 applicationContext.xml 配置文件中添加如下代码

<bean id="user" class="cn.yan.spring.User"></bean>

以上配置中,class表示“类”,取值应该是类的全名,即包名和类名,id是自定义的名称,通常使用类名并且首字母改为小写,

例如类名是Date,则id值为date,如果类名是Student,则id值为student

public static void main(String[] args) {
    // 加载Spring的配置文件,获取Spring容器
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");

    // 通过Spring容器获取对象
    Date user= (User) ac.getBean("user");

    // 测试输出
    System.out.println(user);
}

技术分享图片

 

二:调用带参数构造器

 public User(int id, String name){
        System.out.println("带参数构造器");
        this.id = id;
        this.name = name;
    } 

在Spring的 applicationContext.xml 配置文件中添加如下代码

<!-- 方法1 -->
<bean id="user" class="com.isoftstone.bean.User">
    <constructor-arg value="100" index="0" type="int" ></constructor-arg>
    <constructor-arg value="StanLong" index="1" type="java.lang.String"></constructor-arg>
</bean> 

<!--方法2 依赖参数-->
<bean id="str" class="java.lang.String">
    <constructor-arg value="StanLong"></constructor-arg>    
</bean>
<bean id="user" class="com.isoftstone.bean.User"> <constructor-arg index="0" type="int" value="100" ></constructor-arg> <constructor-arg index="1" type="java.lang.String" ref="str"></constructor-arg>
</bean>
public static void main(String[] args) {
    // 加载Spring的配置文件,获取Spring容器
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");

    // 通过Spring容器获取对象
    Date user= (User) ac.getBean("user");
  // 测试输出  
  System.out.println(
user.getId());
  System.out.println(user.getName()); 
}

 

三:工厂模式创建对象(静态方法和实例方法)

通过工厂类创建对象

//先创建一个工厂类//工厂类
public class ObjectFactory {
    
    //实例方法创建对象
    public User getInstance(){
        return new User(100, "调用实例方法");
    }
    
    //静态方法创建对象
    public static User getStaticInstance(){
        return new User(101, "调用静态方法");
    }

}

 

Spring IOC创建对象的几种方式

原文:https://www.cnblogs.com/yan-sh/p/13392984.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!