cn.dao
- <pre name="code" class="java">package cn.dao;
- public interface PersonDaoInterface {
- public abstract void add();
- }
cn.dao.imp
package cn.dao.imp;
import org.springframework.stereotype.Service;
import cn.dao.PersonDaoInterface;
@Service
public class PersonDao implements PersonDaoInterface {
public void add()
{
System.out.println("执行PersonDao.add()");
}
}
cn.service
- package cn.service;
- public interface PersonService {
- public abstract void save();
- }
cn.service.imp
package cn.service.imp;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import cn.dao.imp.PersonDao;
import cn.service.PersonService;
@Service
public class PersonServiceBean implements PersonService {
private String name;
private PersonDao personDao;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public PersonDao getPersonDao() {
return personDao;
}
public void setPersonDao(PersonDao personDao) {
this.personDao = personDao;
}
public void save()
{
personDao.add();
}
}
juintest
package junit.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.service.imp.PersonServiceBean;
public class SpringTest
{
@Test
public void instanceSpring()
{
AbstractApplicationContext ctx=new ClassPathXmlApplicationContext(new String[]{"beans.xml"});
//这里不一样,因为我们没有bean文件,所以把这里的PersonServiceBean改为personServiceBean
PersonServiceBean personServiceBean=(PersonServiceBean) ctx.getBean("personServiceBean");
//这个时候PersonServiceBean已经注入,但是貌似PersonDaoBean没有注入。
System.out.println(personServiceBean);
personServiceBean.save();
ctx.close();
}
}
<?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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:component-scan base-package="cn"></context:component-scan>
</beans>