spring依赖二

来源:互联网 发布:中国隐形富豪知乎 编辑:程序博客网 时间:2024/06/08 01:22

需要的包

package cn.itcast.service;


public interface PersonDao {

    public abstract void add();

}

package cn.itcast.service.impl;

import cn.itcast.service.PersonDao;

public class PersonDaoBean implements PersonDao {
   /* (non-Javadoc)
 * @see cn.itcast.service.impl.PersonDao#add()
 */
     public void add()
   {
       
       System.out.println("我是唐安执行PersonDaoBean中的add()方法");
   }
}


package cn.itcast.service;
 
public interface PersonService {
    
    public void save();
    
    

}



 package cn.itcast.service.impl;
import javax.annotation.Resource;
import cn.itcast.service.PersonDao;
import cn.itcast.service.PersonService;
public class PersonServiceBean implements PersonService
{  
    
     @Resource  private PersonDao personDao;
       private String name;
public void setPersonDao(PersonDao personDao) {
    this.personDao = personDao;
}

public PersonServiceBean(){}

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

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


beans.xml

<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:annotation-config/>
          
          <bean id="personDao" class="cn.itcast.dao.impl.PersonDaoBean"></bean>
          <bean id="personService" class="cn.itcast.service.impl.PersonServiceBean">
              <!--
              <constructor-arg index="0" type="cn.itcast.dao.PersonDao" ref="personDao"/>//构造器注入
              <constructor-arg index="1" value="tangan"/>//构造器注入
               -->
          </bean>
</beans>



package junit.test;


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

import cn.itcast.service.PersonService;

public class SpringTest {

    @BeforeClass
    public static void setUpBeforeClass() throws Exception
    {
        
    }
    @Test public void instanceSpring()
    {
        
        AbstractApplicationContext ctx=new ClassPathXmlApplicationContext
        (new String[]{"beans.xml"});
        PersonService personService = (PersonService)ctx.getBean("personService");
         personService.save();
        
        ctx.close();
        
    }

}