Spring中利用AOP对领域对象(非依赖注入的对象,如new操作符、反射的方式生存的对象)下面是spring配置文件的一部分
<context:load-time-weaver/>
<bean id="springDomainDoTemplate" class="springtest.aop.SpringDomainDo"/>
springDomainDo类声明如下
@Configurable("springDomainDoTemplate")
public class SpringDomainDo
{
@Autowired
private People people;
public People getPeople()
{
return people;
}
public void setPeople(Peoplepeople)
{
this.people = people;
}
启动测试用例的参数:
-javaagent:E:\jars\spring\spring-framework-3.2.2-dist\spring-framework-3.2.2\libs\spring-instrument-3.2.2.jar
测试代码
private static voidtestSpringDomainDo(ApplicationContext ctx)
throws InstantiationException, IllegalAccessException
{
SpringDomainDo domainDo = new SpringDomainDo();
System.out.println(domainDo.getPeople());
domainDo = SpringDomainDo.class.newInstance();
System.out.println(domainDo.getPeople());
}