java_spring_依赖注入(构造器)

依赖注入对象可以 手工装配(建议) 和 自动装配


package com.PersonDaoBean.test;

public interface PersonDao {

	public abstract void add();

}



package com.PersonDaoBean.test;

public class PersonDaoBean implements PersonDao {
	

	@Override
	public void add(){
		System.out.println("PersonDaoBean执行。。。。。。。。。。。。。。。。。");
	}
}



package com.dao.bean.www;

public interface PersonServiceDao {

	public abstract void save();

}



package com.bean.www;


import com.PersonDaoBean.test.PersonDao;
import com.dao.bean.www.PersonServiceDao;

public class PersonServiceBean implements PersonServiceDao {

	private PersonDao personDao;
	private String name;
	
	public PersonServiceBean(PersonDao personDao, String name) {
		this.personDao = personDao;
		this.name = name;
	}



	public void save() {
		personDao.add();
		System.out.println(name);
	}

}


//配置方法

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">


	<bean id="personDao" class="com.PersonDaoBean.test.PersonDaoBean"></bean>
	<bean id="personService" class="com.bean.www.PersonServiceBean">
		<constructor-arg index="0" type="com.PersonDaoBean.test.PersonDao" ref="personDao"></constructor-arg>
		<constructor-arg index="1" value="valueString"></constructor-arg>
	</bean>

</beans>



//Test Class

package com.itcast.www;

import static org.junit.Assert.*;

import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.dao.bean.www.PersonServiceDao;

public class TestCaseDemo {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	@Test
	public void instanceSpring() {

		ApplicationContext ctx = new ClassPathXmlApplicationContext(
				"applicationContext.xml");

		PersonServiceDao personService = (PersonServiceDao) ctx
				.getBean("personService");
		
		personService.save();


	}

}























































































































原文地址:https://www.cnblogs.com/MarchThree/p/3720410.html