@Service标注将这个类在扫描时注册到Spring容器管理
@Aspect是将该类声明为切面类
@component把该类实例化放入到spring容器中,
@五种增强("execution(public 返回值 地址.*(..))")
AOP实现的大致流程即为
将目标方法的类通过@Service注册到Spring容器管理,以便之后生成代理对象
通过@Aspect声明切面类,然后@component放入spring容器中
通过@五种增强("execution(public 返回值 地址.*(..))")建立切面
在ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("app.xml");
代码执行时创建IOC容器,@Service标注的类中方法与@Aspect@component标注的切面类中切入点表达式匹配,默认情况下IOC自动为@Service标注的类创建代理类并创建相应的代理对象,之后通过applicationContext.getBean(class);得到该类即可操作。