通过构造方法注入,就相当于给构造方法的参数传值。
package com.yiidian.dao;
/*** * @author http://www.yiidian.com**/
public interface CustomerDao {public void save();
}
package com.yiidian.dao.impl;import com.yiidian.dao.CustomerDao;
/*** @author http://www.yiidian.com**/
public class CustomerDaoImpl implements CustomerDao {@Overridepublic void save() {System.out.println("CustomerDaoImpl被成功注入!");}}
package com.yiidian.service;
/*** * @author http://www.yiidian.com**/
public interface CustomerService {public void save();
}
package com.yiidian.service.impl;import com.yiidian.dao.CustomerDao;
import com.yiidian.service.CustomerService;
/*** * @author http://www.yiidian.com**/
public class CustomerServiceImpl implements CustomerService {private CustomerDao customerDao;//关键在这里,提供CustomerDao作为参数的构造方法,待会在配置文件进行注入public CustomerServiceImpl(CustomerDao customerDao) {super();this.customerDao = customerDao;}@Overridepublic void save() {customerDao.save();}}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:p="http://www.springframework.org/schema/p"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="customerDao" class="com.yiidian.dao.impl.CustomerDaoImpl"></bean><bean id="customerService" class="com.yiidian.service.impl.CustomerServiceImpl"><!-- index:代表构造方法参数的索引,0代表第一个参数,以此类推ref: 代表引用另一个bean对象--><constructor-arg index="0" ref="customerDao"></constructor-arg></bean></beans>
package com.yiidian.test;import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.yiidian.service.CustomerService;/*** @author http://www.yiidian.com* */
public class Demo1 {@Testpublic void test1() {ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");CustomerService customerService = (CustomerService)context.getBean("customerService");customerService.save();}}
spring注入方式有哪些,
源码下载:http://pan.baidu.com/s/1bpxv8Ur
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态