第一步:在pom.xml中导入spring
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
第二步:在main下面的sources中创建spring管理文件applicationContext.xml
在xml文件中配置bean,注意是配实现类
bean标签表示配置bean
id属性表示给bean起名字
class属性表示给bean定义类型
name用来起别名
实例:<bean id="bookDao" class="com.inan.dao.impl.BookDaoImpl"></bean>
第三步:写main方法
获取容器(使用上面的xml配置文件)
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
获得bean(参数为第二步中的id或者name)
BookService bookService = (BookService) ctx.getBean("book_service");
直接使用对象进行操作
bookService.save();
这样还存在一个问题,在类中new一个对象,有藕合的情况
第四步:对类进行改造
//删除业务层中使用new的方式创建的bookdao对象
//private BookDao bookDao = new BookDaoImpl();
//使用定义的方式即可
private BookDao bookDao;
//添加getter器
public void setBookDao(BookDao bookDao) {
this.bookDao = bookDao;
}
第五步:在配置文件中配置关系
<bean id="bookService" name="book_service bookService2" class="com.inan.service.impl.BookServiceImpl" scope="singleton">
<!--配置service与bookdao的关系-->
<!--property标签表示配置当前bean的属性
name属性表示配置哪一个具体的属性(接口)
ref属性表示参照哪一个bean
scope属性表示作用范围prototype表示非单例,singleton表示单例-->
<property name="bookDao" ref="bookDao"/>
</bean>