Spring_DI入门案例

来源:互联网 发布:vmware 安装mac os 编辑:程序博客网 时间:2024/05/21 11:17

导入jar包


目标类

package com.itheima.b_id;public interface BookDao { public void addBook() ;}

package com.itheima.b_id;public class BookDaoImpl implements BookDao {@Overridepublic 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 ;}@Overridepublic 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 {@Testpublic void demo01(){String xmlPath = "com/itheima/b_id/beans.xml";  //获得容器ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath) ;BookService bookService = (BookService) applicationContext.getBean("BookServiceId") ; //获得内容bookService.addBook();}}


原创粉丝点击