第一步:引入JAR
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.9.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.5</version>
</dependency>
</dependencies>
第二步:编写增强接口和实现
public interface MyIntroductions {
void introductionsSay();
}
@Component
public class MyIntroductionsImpl implements MyIntroductions {
public void introductionsSay() {
System.out.println("MyIntroductionsImpl--->introductionsSay");
}
}
第三步:编写业务类
@Component("myBusiness")
public class MyBusiness {
}
第四步:编写切面业务
@Component
@Aspect
public class MyAspectj {
@DeclareParents(value="com.xdw.my.spring.aop.introductions.*+", defaultImpl=MyIntroductionsImpl.class)
public static MyIntroductions mixin;
}
第五步:开启注解
@Configuration
@EnableAspectJAutoProxy
@ComponentScan("com.xdw.my.spring.aop.introductions")
public class MyConfiguration {
public static void main(String[] args) {
AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(MyConfiguration.class);
MyIntroductions myIntroductions = (MyIntroductions) annotationConfigApplicationContext.getBean("myBusiness");
myIntroductions.introductionsSay();
}
}
注意这边获取的对象