使用Spring實例化Bean的方法以及Bean取別名


一、通過構造方法實例化Bean

bean中加構造方法

public class Bean1 {
    public Bean1() {
        System.out.println("Bean1構造方法.Bean1");
    }
}

xml中配置Bean

<bean class="main.java.jirath.spring.class05.Bean1" id="bean1"></bean>

采用ApplicationContext中ClassPathXmlApplicationContext的方法將Bean交給IOC容器保管。

public static void main(String[] args) {
        ApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");
        Bean1 bean1=context.getBean("bean1", Bean1.class);
        System.out.println("Bean1 = "+bean1);
    }

二、通過靜態方法實例化Bean

除了bean以外,還需要一個beanFactory類用以產生Bean,產生Bean的方法是靜態的

public class Bean2Factory {
    public static Bean2 getBean2(){
        return new Bean2();
    }
}

bean2與上一條相同

public class Bean2 {
    public Bean2() {
        System.out.println("Bean2構造方法.Bean2");
    }
}

xml文件中略有不同,需要添加factory-method

<bean class="main.java.jirath.spring.class05.Bean2Factory" factory-method="getBean2" id="bean2"></bean>

三、通過實例方法實例化Bean

同樣需要一個factory類,產生Bean的方法不能是靜態

public class Bean3Factory {
    public Bean3 getBean3(){return new Bean3();}
}

bean相同

public class Bean3 {
    public Bean3() {
        System.out.println("Bean3構造方法.Bean3");
    }
}

xml的配置需要多寫一個Bean3,Bean3中需要寫factory-bean factory-method

 <bean class="main.java.jirath.spring.class05.Bean3Factory" id="bean3Factory"></bean>
<bean class="main.java.jirath.spring.class05.Bean3" factory-bean="bean3Factory" factory-method="getBean3" id="bean3"></bean>

給Bean取別名

給Bean取別名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM