1、Spring 有兩種類型 bean,一種普通 bean,另外一種工廠 bean(FactoryBean)
2、普通 bean:在配置文件中定義 bean 類型就是返回類型
3、工廠 bean:在配置文件定義 bean 類型可以和返回類型不一樣
第一步創(chuàng)建類,讓這個類作為工廠 bean,實現接口 FactoryBean
第二步實現接口里面的方法,在實現的方法中定義返回的 bean 類型
public class MyBean implements FactoryBean{//定義返回 bean
@Override
public Course getObject() throws Exception {Course course = new Course();
course.setCname("abc");
return course;
}
@Override
public Class>getObjectType() {return null;
}
@Override
public boolean isSingleton() {return false;
}
}
@Test
public void test3() {ApplicationContext context =
new ClassPathXmlApplicationContext("bean3.xml");
Course course = context.getBean("myBean", Course.class);
System.out.println(course);
}
IOC 操作 Bean 管理(bean 作用域)1、在 Spring 里面,設置創(chuàng)建 bean 實例是單實例還是多實例
2、在 Spring 里面,默認情況下,bean 是單實例對象
@Test
public void testCollection2(){ApplicationContext context = new ClassPathXmlApplicationContext("bean2.xml");
Book book1 = context.getBean("book", Book.class);
Book book2 = context.getBean("book", Book.class);
// book.test();
System.out.println(book1);
System.out.println(book2);
}
單實例對象
com.spring5.collectiontype.Book@b9afc07
com.spring5.collectiontype.Book@b9afc07
3、如何設置單實例還是多實例
(1) 在 spring 配置文件 bean 標簽里面有屬性(scope)用于設置單實例還是多實例
(2) scope 屬性值
第一個值 默認值,singleton,表示是單實例對象第二個值 prototype,表示是多實例對象
多實例對象
com.spring5.collectiontype.Book@b9afc07
com.spring5.collectiontype.Book@382db087
(3) singleton 和 prototype 區(qū)別
第一 singleton 單實例,prototype 多實例
第二設置 scope 值是 singleton 時候,加載 spring 配置文件時候就會創(chuàng)建單實例對象
設置 scope 值是 prototype 時候,不是在加載 spring 配置文件時候創(chuàng)建對象,在調用
getBean 方法時候創(chuàng)建多實例對象
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
網站標題:IOC操作Bean管理(FactoryBean)-創(chuàng)新互聯
鏈接分享:http://aaarwkj.com/article16/gdcgg.html
成都網站建設公司_創(chuàng)新互聯,為您提供網站導航、動態(tài)網站、App設計、搜索引擎優(yōu)化、域名注冊、小程序開發(fā)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯