[size=large][color=blue]你懂的[/color][/size]
package com.meiyoudao.service;
public interface BuyPersonService {
public void buySomebody();
}
package com.meiyoudao.service;
public interface BuyPersonBySexService {
public void buyPersonBySex();
}
package com.meiyoudao.service.impl;
import com.meiyoudao.service.BuyPersonService;
public class BuyPersonServiceImpl implements BuyPersonService {
public void buySomebody(){
System.out.println("Get someone!");
}
}
package com.meiyoudao.service.impl;
import com.meiyoudao.service.BuyPersonBySexService;
public class BuyPersonBySexServiceImpl implements BuyPersonBySexService {
public void buyPersonBySex() {
System.out.println("male!");
}
}
package com.meiyoudao.aop;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.DeclareParents;
import com.meiyoudao.service.BuyPersonBySexService;
import com.meiyoudao.service.impl.BuyPersonBySexServiceImpl;
@Aspect
public class JoinAop {
//将该BuyPersonBySexServiceImpl.class 注入 * .
@DeclareParents(value="*",defaultImpl=BuyPersonBySexServiceImpl.class)
public BuyPersonBySexService buyPerson;
}
<?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:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<aop:aspectj-autoproxy/>
<bean id="buyPerson" class="com.meiyoudao.service.impl.BuyPersonServiceImpl"/>
<bean class="com.meiyoudao.aop.JoinAop"/>
</beans>
package com.meiyoudao.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.meiyoudao.service.BuyPersonBySexService;
import com.meiyoudao.service.BuyPersonService;
public class BuyPersonTest {
public static void main(String[] args) {
ApplicationContext app = new ClassPathXmlApplicationContext("MyXml.xml");
BuyPersonService buyPerson = (BuyPersonService)app.getBean("buyPerson");
buyPerson.buySomebody();
BuyPersonBySexService buyPersonSex = (BuyPersonBySexService)buyPerson;
buyPersonSex.buyPersonBySex();
}
}