Spring框架是一个应用程序框架,是针对bean的生命周期进行管理的轻量级容器。 Spring提供了功能强大IOC、AOP及Web MVC等功能。
特点:

充分解耦
使用对象时不仅可以直接从IoC容器中获取,而且获得到的bean已经绑定了所有的依赖关系
IoC控制反转
Spring技术对IoC思想的实现
DI依赖注入
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.22.RELEASE</version>
</dependency>
<bean id="bookDao" class="com.my.dao.impl.BookDaoImpl"/>
<bean id="bookService" class="com.my.service.impl.BookServiceImpl"/>
beans>
public static void main(String[] args) {
// 3.获取IoC容器
ApplicationContext context=new ClassPathXmlApplicationContext("applicationConfig.xml");
// 4.获取bean
BookDao bookDao = (BookDao) context.getBean("bookDao");
bookDao.save();
//输出结果:book dao save......
BookService bookService = (BookService) context.getBean("bookService");
bookService.save();
//输出结果:book service save......
// book dao save......
}
//1.删除new的对象
//private BookDao bookDao=new BookDaoImpl();
private BookDao bookDao;
//2.提供对应的set方法
public void setBookDao(BookDao bookDao) {
this.bookDao = bookDao;
}
<bean id="bookDao" class="com.my.dao.impl.BookDaoImpl"/>
<bean id="bookService" class="com.my.service.impl.BookServiceImpl">
<property name="bookDao" ref="bookDao"/>
bean>
public static void main(String[] args) {
// 4.获取IoC容器
ApplicationContext context=new ClassPathXmlApplicationContext("applicationConfig.xml");
// 5.获取bean
BookDao bookDao = (BookDao) context.getBean("bookDao");
bookDao.save();
//输出结果:book dao save......
BookService bookService = (BookService) context.getBean("bookService");
bookService.save();
//输出结果:book service save......
// book dao save......
}