你懂的
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(); } }