[3] IOCがオブジェクトを作成する方法

4.IOCがオブジェクトを作成する方法

4.1、パラメータなしの構築方法で作成

  1. Teacher.java

    public class Teacher {
          
          
        private String name;
    
        public Teacher() {
          
          
            System.out.println("Teacher对象默认被创建");
        }
    
        public String getName() {
          
          
            return name;
        }
    
        public void setName(String name) {
          
          
            this.name = name;
        }
    
        public void show(){
          
          
            System.out.println("name="+name);
        }
    }
    
  2. Beans.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd">
    
        <bean id="teacher" class="com.kuber.pojo.Teacher" name="teacher2">
        	<property name="name" value="工藤静香真好看"/>
        </bean>
    
    </beans>
    
  3. テストクラス

    @Test
    public void test1(){
          
          
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        Teacher teacher = (Teacher) context.getBean("teacher2");
        teacher.show();
    }
    
  4. 出力効果

ここに画像の説明を挿入

4.2。パラメータメソッドによって構築されます

  1. User.java

    public class User {
          
          
        private String name;
    
        public User(String 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);
        }
    }
    
  2. Beans.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           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">
        <bean id="user" class="com.kuber.pojo.User">
            <!--<constructor-arg index="0" value="工藤静香"/>-->
            <constructor-arg name="name" value="工藤静香"/>
        </bean>
    
    </beans>
    

    コンストラクター引数には3つの構成メソッドがあります

    <!-- 第一种根据index参数下标设置 -->
    <bean id="user" class="com.kuang.pojo.User">
       <!-- index指构造方法 , 下标从0开始 -->
       <constructor-arg index="0" value="工藤静香"/>
    </bean>
    <!-- 第二种根据参数名字设置 -->
    <bean id="user" class="com.kuang.pojo.User">
       <!-- name指参数名 -->
       <constructor-arg name="name" value="工藤静香"/>
    </bean>
    <!-- 第三种根据参数类型设置 -->
    <bean id="user" class="com.kuang.pojo.User">
       <constructor-arg type="java.lang.String" value="工藤静香"/>
    </bean>
    
  3. テスト

    @Test
    public void test1(){
          
          
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        User user = context.getBean("user", User.class);
        user.show();
    }
    
  4. 結果

    ここに画像の説明を挿入

結論:構成ファイルがロードされるとき、管理対象オブジェクトはすでに初期化されています。

おすすめ

転載: blog.csdn.net/weixin_43215322/article/details/110298717