Spring

xiaoxiao2021-02-28  153

导入jar包

目标类

package com.itheima.b_id; public interface BookDao { public void addBook() ; } package com.itheima.b_id; public class BookDaoImpl implements BookDao { @Override public void addBook() { System.out.println("di add book"); } } package com.itheima.b_id; public interface BookService { public void addBook() ; } ***************************************关键************** package com.itheima.b_id; public class BookServiceImpl implements BookService { private BookDao bookDao; //接口 + set方法 public void setBookDao(BookDao bookDao){ this.bookDao = bookDao ; } @Override public void addBook() { this.bookDao.addBook(); } }

配置文件

<?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 definitions here --> <!-- 创建service实例 bean: id:用于之后从spring容器获得实例时使用的 class:需要创建实例的全限定类名 property : name : bean属性名,通过set方法获得 ref:另一个bean的id值的引用 --> <bean id ="BookServiceId" class = "com.itheima.b_id.BookServiceImpl"> <property name="bookDao" ref="BookDaoId"></property> </bean> <!-- 创建dao实例 --> <bean id = "BookDaoId" class = "com.itheima.b_id.BookDaoImpl" ></bean> </beans>

测试

package com.itheima.b_id; import org.apache.catalina.core.ApplicationContext; import org.junit.Test; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestDI { @Test public void demo01(){ String xmlPath = "com/itheima/b_id/beans.xml"; //获得容器 ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath) ; BookService bookService = (BookService) applicationContext.getBean("BookServiceId") ; //获得内容 bookService.addBook(); } }
转载请注明原文地址: https://www.6miu.com/read-38801.html

最新回复(0)