IoC

1.早期对象创建(什么时候用到,什么时候自己手动创建)

public void testSave1() {
    UserDao userDao = new UserDaoImpl();
    userDao.save();
}

2.对象由工厂创建(其实这里已经有控制反转的意思,对象创建由手动创建转移到工厂创建)

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.总结

Spring其实就是一个大工厂,可以产生各种Bean  
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容