1.早期對(duì)象創(chuàng)建(什么時(shí)候用到,什么時(shí)候自己手動(dòng)創(chuàng)建)
public void testSave1() {
UserDao userDao = new UserDaoImpl();
userDao.save();
}
2.對(duì)象由工廠創(chuàng)建(其實(shí)這里已經(jīng)有控制反轉(zhuǎn)的意思,對(duì)象創(chuàng)建由手動(dòng)創(chuàng)建轉(zhuǎn)移到工廠創(chuàng)建)
public class BeanFactory {
public static UserDao getUserDao() {
return new UserDaoImpl(); // 還可以做成配置文件反射做
}
}
public void testSave2() {
UserDao userDao = BeanFactory.getUserDao();
userDao.save();
}
3.具體看看Spring做法
<?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="userDao" class="com.boomsecret.ioc.UserDaoImpl"/>
</beans>
public void testSave3() {
String configPath = "com/boomsecret/ioc/bean.xml";
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(configPath);
UserDao userDao = applicationContext.getBean("userDao", UserDao.class);
userDao.save();
}
4.總結(jié)
Spring其實(shí)就是一個(gè)大工廠,可以產(chǎn)生各種Bean
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。