真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringBean實(shí)例化實(shí)現(xiàn)過程解析

這篇文章主要介紹了Spring Bean實(shí)例化實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

成都創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)涼州,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

Bean的實(shí)例化

1.構(gòu)造器實(shí)例化:Spring容器通過Bean對(duì)應(yīng)類中默認(rèn)的無參構(gòu)造方法來實(shí)例化Bean

package com.itheima.instance.constructor;
 
public class Bean1 {
 
}
<?xml version="1.0" encoding="UTF-8"?>


在beans1.xml文件中,定義了一個(gè)id為bean1的Bean,并通過class屬性指定其對(duì)應(yīng)的實(shí)現(xiàn)類Bean1

package com.itheima.instance.constructor;
 
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
public class InstanceTest1 {
  public static void main(String[] args) {
    //定義配置文件路徑
    String xmlPath = "com/itheima/instance/constructor/beans1.xml";
    //ApplicationContext在加載配置文件時(shí),對(duì)Bean進(jìn)行實(shí)例化
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
    Bean1 bean = (Bean1) applicationContext.getBean("bean1");
    System.out.println(bean);
  }
}

在InstanceTest1類中,首先定義了配置文件的路徑,然后Spring容器ApplicationContext會(huì)加載配置文件。在加載時(shí),Spring容器會(huì)通過id為bean1的實(shí)現(xiàn)類Bean1中默認(rèn)的無參構(gòu)造方法對(duì)Bean進(jìn)行實(shí)例化。

Spring Bean實(shí)例化實(shí)現(xiàn)過程解析

2. 靜態(tài)工廠方法實(shí)例化

package com.itheima.instance.static_factory;
 
public class Bean2 {
 
}
package com.itheima.instance.static_factory;
 
public class MyBean2Factory {
  //使用自己的方法創(chuàng)建Bean2實(shí)例
  public static Bean2 createBean(){
    return new Bean2();
  }
}
<?xml version="1.0" encoding="UTF-8"?>


定義id為bean2的Bean,通過class屬性指定其對(duì)應(yīng)的工廠實(shí)現(xiàn)類(MyBean2Factory.java),需要增加factory-method屬性來告訴Spring容器其方法名稱為createBean。

package com.itheima.instance.static_factory;
 
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
public class InstanceTest2 {
  public static void main(String[] args) {
    //定義配置文件路徑
    String xmlPath = "com/itheima/instance/static_factory/beans2.xml";
    //ApplicationContext在加載配置文件時(shí),對(duì)Bean進(jìn)行實(shí)例化
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
    System.out.println(applicationContext.getBean("bean2"));
  }
}

Spring Bean實(shí)例化實(shí)現(xiàn)過程解析

3.實(shí)例工廠方式實(shí)例化

package com.itheima.instance.factory;
 
public class Bean3 {
 
}
package com.itheima.instance.factory;
 
public class MyBean3Factory {
  public MyBean3Factory(){
    System.out.println("bean3工廠實(shí)例化中");
  }
  //創(chuàng)建Bean3實(shí)例的方法
  public Bean3 createBean(){
    return new Bean3();
  }
}
<?xml version="1.0" encoding="UTF-8"?>



   

首先配置了一個(gè)工廠Bean,然后配置了需要實(shí)例化的Bean。在id為bean3的Bean中,使用factory-bean屬性指向配置的實(shí)例工廠,使用factory-method屬性來確定使用工廠中的createBean()方法

package com.itheima.instance.factory;
 
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
public class InstanceTest3 {
  public static void main(String[] args) {
    //指定配置文件路徑
    String xmlPath = "com/itheima/instance/factory/beans3.xml";
    //ApplicationContext加載配置文件時(shí),對(duì)Bean進(jìn)行實(shí)例化
    @SuppressWarnings("resource")
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
    System.out.println(applicationContext.getBean("bean3"));
  }
}

Spring Bean實(shí)例化實(shí)現(xiàn)過程解析

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


名稱欄目:SpringBean實(shí)例化實(shí)現(xiàn)過程解析
文章轉(zhuǎn)載:http://weahome.cn/article/gdesdj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部