Spring的IOC创建对象方式


Spring中文文档:https://docs.spring.io/spring-framework/docs/5.2.0.RELEASE/spring-framework-reference/core.html#beans-factory-metadata

可分为有参创建和无参创建

Spring的IOC创建对象时只要写在XML文件中的都会进行创建如下代码

User.java

package pojo;

public class User {
    private String name;

    public User()
    {
        System.out.println("User的无参构造");
    }
    public User(String name)
    {
        System.out.println("User的有参构造"+name);
        this.name=name;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public void show()
    {
        System.out.println("name="+name);
    }

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

beans.xml

<?xml version="1.0" encoding="UTF-8"?>

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    
    
    class="pojo.User">
        
    
    
    
    class="pojo.User">
        
    
    
    class="pojo.User">
    
    

mytest.java

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import pojo.User;

public class mytest {

    public static void main(String[] args) {
        ApplicationContext context =new ClassPathXmlApplicationContext("beans.xml");
        User user=(User) context.getBean("user1");
        user.show();
    }

}

输出结果

分析:只要是在xml中的bean对象都会被创建好,调用时即可使用