課程
/后端開發(fā)
/Java
/Spring框架小白的蛻變
老師好,如題。
2019-03-20
源自:Spring框架小白的蛻變 3-2
正在回答
容器啟動的時候,會讀取配置文件或者類,實例化所有非懶加載的類
<?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="bean" class="com.example.demo.ioc.Bean"/>
<bean id="bean2" class="com.example.demo.ioc.Bean2Factory" factory-method="getBean2"/>
<bean id="bean3Factory" class="com.example.demo.ioc.Bean3Factory" />
<bean id="bean3" class="com.example.demo.ioc.Bean3Factory" factory-method="getBean3" factory-bean="bean3Factory"/>
<bean id="kobe" ?class="com.example.demo.human.KobeBean" init-method="onInit" destroy-method="onDestroy"/>
</beans>
public class KobeTest {
? ? @Test
? ? public void test(){
? ? ? ? AbstractApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
? ? ? ? KobeBean bean = context.getBean("kobe",KobeBean.class);
? ? ? ? System.out.println("bean:"+bean);
? ? ? ? context.close();
// ? ? ? ?ApplicationContext context = new AnnotationConfigApplicationContext(Config.class);
// ? ? ? ?Bean1 bean1 = context.getBean("bean1",Bean1.class);
// ? ? ? ?System.out.println("bean1:"+bean1);
? ? }
}
不想再做設(shè)計的阿碳 提問者
遠遠sky 回復 不想再做設(shè)計的阿碳 提問者
你是指init-method和destory-method嗎?如果是全局配置的default-init-method和default-destory-method如果每個bean都有則一起初始化,沒有這兩個方法或者其中之一都會報錯,如果在每個bean里單獨配置了init-method,則會調(diào)用這個bean配置的init-method。自己理解,如有錯誤希望指出!
舉報
Spring Ioc和Spring Bean基礎(chǔ)內(nèi)容的講解
1 回答如果我有兩個List,那@Bean,是給那個List寫入?
1 回答那個獲bean3的配置,為啥factory-method在 bean3里面;獲取bean2的時候那個factory-methed在factory里面
1 回答在Class004里那個spring.xml不會影響這個上下文獲取么?
1 回答constructor-arg里的ref一定要是個bean嗎?如何傳入自定義的class呢?
1 回答bean會報紅?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2019-03-20
容器啟動的時候,會讀取配置文件或者類,實例化所有非懶加載的類
2019-03-20
<?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="bean" class="com.example.demo.ioc.Bean"/>
<bean id="bean2" class="com.example.demo.ioc.Bean2Factory" factory-method="getBean2"/>
<bean id="bean3Factory" class="com.example.demo.ioc.Bean3Factory" />
<bean id="bean3" class="com.example.demo.ioc.Bean3Factory" factory-method="getBean3" factory-bean="bean3Factory"/>
<bean id="kobe" ?class="com.example.demo.human.KobeBean" init-method="onInit" destroy-method="onDestroy"/>
</beans>
public class KobeTest {
? ? @Test
? ? public void test(){
? ? ? ? AbstractApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
? ? ? ? KobeBean bean = context.getBean("kobe",KobeBean.class);
? ? ? ? System.out.println("bean:"+bean);
? ? ? ? context.close();
// ? ? ? ?ApplicationContext context = new AnnotationConfigApplicationContext(Config.class);
// ? ? ? ?Bean1 bean1 = context.getBean("bean1",Bean1.class);
// ? ? ? ?System.out.println("bean1:"+bean1);
? ? }
}
2019-03-20
你是指init-method和destory-method嗎?如果是全局配置的default-init-method和default-destory-method如果每個bean都有則一起初始化,沒有這兩個方法或者其中之一都會報錯,如果在每個bean里單獨配置了init-method,則會調(diào)用這個bean配置的init-method。自己理解,如有錯誤希望指出!