Java-Spring例题(2)
annotation.dao包下的Leg.java
package annotation.dao;
public interface Leg {
public void run();
}
annotation.dao包下的LegImpl.java
package annotation.dao;
import org.springframework.stereotype.Repository;
//配置一个bean,相当于<bean id="" class="">。
@Repository
public class LegImpl implements Leg{
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("健步如飞");
}
}
annotation.service包下的 People.java
package annotation.service;
public interface People {
public void run();
}
annotation.service包下的 PeopleImpl.java
package annotation.service;
import annotation.dao.Leg;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
//配置一个bean,相当于<bean id="peopleimpl" class="">。
@Service("peopleimpl")
public class PeopleImpl implements People{
// 主动依据类型注入。
@Autowired
private Leg l;
public PeopleImpl(Leg l){
this.l=l;
}
@Override
public void run() {
// TODO Auto-generated method stub
l.run();
System.out.println("People 构造方法 注入 leg");
}
}
annotation.service包下的 PeopleImpl1.java
package annotation.service;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import annotation.dao.Leg;
//配置一个bean,相当于<bean id="peopleimpl1" class="">。
@Service("peopleimpl1")
public class PeopleImpl1 implements People {
@Autowired
private Leg l1;
public void setL1(Leg l1) {
this.l1 = l1;
}
@Override
public void run() {
// TODO Auto-generated method stub
l1.run();
System.out.println("People setter办法 注入 leg");
}
}
test包下的TestPeople.java
package test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import annotation.service.People;
public class TestPeople {
public static void main(String[] args) {
ApplicationContext appCon=new ClassPathXmlApplicationContext("annotationContext.xml");
People p=(People)appCon.getBean("peopleimpl");
p.run();
People p1=(People)appCon.getBean("peopleimpl1");
p1.run();
}
}
annotationContext.xml
<?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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--指定要扫描的包这个包下的注解就会失效-->
<context:component-scan base-package="annotation"/>
<!--开启注解的反对-->
<context:annotation-config/>
</beans>
发表回复