tôi có các khía cạnh sau:Không có phương pháp nhà máy phù hợp được tìm thấy: phương pháp nhà máy 'aspectOf()'
package trc.suivi.aspects;
import java.util.Date;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import trc.suivi.domain.EvenementPli;
import trc.suivi.domain.Pli;
import trc.suivi.domain.TypeEvenement;
import trc.suivi.repository.EvenementPliRepository;
public aspect PliEventManagerAspect {
private static final Logger log = Logger.getLogger(PliEventManagerAspect.class);
@Autowired
private EvenementPliRepository evenementPliRepository;
public PliEventManagerAspect() {
}
pointcut catchEMPersist(Pli pli) : (execution(* trc.suivi.repository.PliRepository+.save(*)) && args(pli));
pointcut catchEMPersist() : (execution(trc.suivi.domain.Pli.persist()));
after(Pli pli) returning: catchEMPersist(pli) {
log.debug("catchEMPersist(pli)");
EvenementPli ev = new EvenementPli();
ev.setDateCreation(new Date());
ev.setType(TypeEvenement.creation);
ev.setMessage("Création d'un pli");
evenementPliRepository.save(ev);
}
after() returning: catchEMPersist() {
log.debug("catchEMPersist()");
EvenementPli ev = new EvenementPli();
ev.setDateCreation(new Date());
ev.setType(TypeEvenement.creation);
ev.setMessage("Création d'un pli");
evenementPliRepository.save(ev);
}
}
Và cấu hình xml sau:
<?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/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<aop:aspectj-autoproxy />
<bean class="trc.suivi.aspects.PliEventManagerAspect" factory-method="aspectOf"/>
</beans>
Khi tôi bắt đầu ứng dụng của tôi, tôi nhận được này:
No matching factory method found: factory method 'aspectOf()'. Check that a method with the specified name exists and that it is static.
Tôi khá là chết lặng vì tôi khá chắc chắn cấu hình này hoạt động tốt trước đây. Hơn nữa, đây là một dự án Spring Roo nên tất cả các cấu hình aspectJ sẽ ổn.
Mọi người có thể giúp bạn không?
Tôi đã có thể tìm hiểu lý do tại sao khía cạnh không được biên soạn nhờ đề xuất của bạn. Cảm ơn rất nhiều. – balteo
@balteo, bạn có thể chỉ định câu trả lời cho vấn đề cụ thể của mình không? – alfredaday
Khía cạnh của tôi chưa được biên dịch. Nếu máy của bạn không biên dịch, hãy thử cấu hình ở trên, bạn sẽ thấy các lỗi biên dịch. – balteo