每次创建maven项目时都要点击设置看一眼配置,需要修改就改一下,改成所存放的位置地址
属性生成:bean值之间的关系
写了一个私有属性
写private BookDao bookDao右键生成,通过setter方法注入一下
点击
确定
DI入门
DI:依赖注入
单例模式和非单例模式
在单例模式下默认所有对象为true
非单例模式下值为false
代码
APP1:初始化ioc容器
import dao.BookDao;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import service.BookService;
public class APP1 {
public static void main(String[] args) {
//1.配置解析文件,引号写入xml文件的名字
ClassPathXmlApplicationContext ioc
= new ClassPathXmlApplicationContext("SpringContent.xml");
// 2.通过工厂ioc容器获取bean
BookService bookService =(BookService) ioc.getBean("bookService");
// 3.使用功能
bookService.addBook();
//4.关闭资源
/* BookDao bookDao2 = (BookDao) ioc.getBean("bookDao2");*/
}
}
xml:配置service与bean中的关系
<?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:对象名 class:对象名 name任何命名在bean里面,APP依然可以调用
property: ref代表你参照了哪个bean对象 name代表我们注入的属性-->
<bean id="bookDao" class="dao.impl.BookDaoImpl"></bean>
<bean id="bookService" class="service.impl.BookServiceImpl">
<property name="bookDao" ref="bookDao"> </property>
</bean>
</beans>
BookServiceImpl:在这里调用dao包中的方法
package service.impl;
import dao.BookDao;
import javafx.scene.canvas.GraphicsContext;
import service.BookService;
public class BookServiceImpl implements BookService {
/*创建DI属性*/
public void setBookDao(BookDao bookDao) {
this.bookDao = bookDao;
}
private BookDao bookDao ;
@Override
public void addBook() {
bookDao.save();
System.out.println("2022103752 余若凡");
}
}