在我的spring-boot应用程序中,我对外部jar有依赖性,该外部jar包含一个标有注释的类,此JAR上的@Aspect被触发。
我有使用mu自定义注释注释的dao方法:
@MyAnnotation
public void save(MyEntity entity)
{
super.save(entity);
}
我有一个方面,有一个建议,在调用save()方法后发送消息:
@Aspect
public class MySuperAspect
{
@Autowired
MessageSender messageSender;
@Around("@annotation(MyAnnotation) && args(entity)")
public void sendMessage(MyEntity entity)
{
messageSender.send();
}
}
我确实需要jar中的Dao方法,但我想为此禁用方面。
Aspect是通过Spring XML配置创建的,该配置也位于我使用的jar中。
我可以修改方面本身,但是这是不可取的,因为它不仅被我的spring-boot应用程序使用。
我尝试过:
到目前为止,唯一可行的方法是在属性中添加@Value批注,通过该属性我可以控制建议中的逻辑,但我很好奇这是唯一的方法,或者可能是我遗漏了什么吗? / p>
答案 0 :(得分:0)
您需要阻止spring boot扫描此类。因为必须将其配置为扫描此方面,否则它将无法启动并应用该方面。