IOC入门案例思路分析
管理什么?(Service和Dao)
如何将被管理的对象交给IOC容器?(配置)
被管理的对象交给IOC容器,如何获取到IOC容器?(接口)
获取IOC容器后,如何从容器中获取Bean?(接口方法)
使用Spring导入哪些坐标?(pom.xml)
IOC入门案例
初始代码:(dao和service部分省略)

更改:
导包
在pom.xml中导入spring-context
配置
新建Spring配置文件applicationContext.xml
加入如下Bean信息:
<bean id="bookDao" class="com.itlxf.dao.impl.BookDaoImpl"/>
<bean id="bookService" class="com.itlxf.service.impl.BookServiceImpl"/>
获取容器
在main方法中输入:
//加载配置文件得到上下文对象,即容器对象
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml")
//获取资源
BookService bookservice = (BookService)ctx.getBean("BookService")
bookservice.save()
可以发现,程序也输出了和之前一样的结果,但是,IOC好像没有给我们带来什么好处,毕竟在Service代码中依然在使用new来生成BookDao对象。
这时就需要DI登场了。
DI入门案例思路分析
基于IOC管理Bean
Service中new的对象是否需要保留?(否)
需要的Dao对象如何进入Service中?(提供set方法)
Service与Dao之间的关系如何描述?(配置)
配置
<bean id="bookDao" class="com.itlxf.dao.impl.BookDaoImpl"/>
<bean id="bookService" class="com.itlxf.service.impl.BookServiceImpl">
<property name="bookDao" ref="bookDao"/>
</bean>