У меня этот класс в моей структуре Spring-model-view-controller (MVC) Spring. Я использую аспектно-ориентированное программирование (AOP), парадигму программирования, которая направлена на повышение модульности, позволяя разделять сквозные проблемы. Все хорошо с этим классомSpring MVC: формальный несвязанный в pointcut
@Aspect
public class MarketingAspect extends ServiceSupport {
@Pointcut("execution(* com.tdk.iot.services.client.LicenseService.*(..))")
public void handleServiceMethod() {
}
@Pointcut("execution(* com.tdk.iot.services.client.ApplicantService.*(..))")
public void handleApplicantServiceMethod() {
}
@Before("com.tdk.iot.services.aop.ApplicantAspect.handleServiceMethod()")
public void before(JoinPoint _jp) {
User user = getLDAPUser();
if(user != null &&((user.getUserRole() != UserRole.MARKETING)) {
throw new NoSufficientRoleException(user == null ? null : user.getUserRole(), UserRole.MARKETING);
}
}
@Before("com.tdk.iot.services.aop.ApplicantAspect.handleApplicantServiceMethod()")
public void checkRolebefore(JoinPoint _jp) {
User user = getLDAPUser();
if(user != null &&((user.getUserRole() != UserRole.MARKETING))) {
throw new NoSufficientRoleException(user == null ? null : user.getUserRole(), UserRole.MARKETING);
}
}
}
Я изменил метод обозначения getLDAPUser и теперь получает HttpServletRequest запрос в качестве параметра, поэтому я изменил метод как
@Before("com.tdk.iot.services.aop.ApplicantAspect.handleApplicantServiceMethod()")
public void checkRolebefore(JoinPoint _jp, HttpServletRequest request) {
User user = getLDAPUser(request);
if(user != null &&((user.getUserRole() != UserRole.MARKETING))) {
throw new NoSufficientRoleException(user == null ? null : user.getUserRole(), UserRole.MARKETING);
}
}
и после того, как модифицировали этот метод, который я получил эта ошибка
java.lang.IllegalArgumentException: error at ::0 formal unbound in pointcut
в моем XML:
<!-- Scan for aspects -->
<aop:aspectj-autoproxy />
<bean id="marketingAspect" class="com.tdk.iot.services.aop.MarketingAspect" />
Вы включили spring aop в свой конфигурационный файл xml? в примечаниях –
вы можете показать свои конфигурации приложений – kuhajeyan
Проблема началась, когда я изменил метод следующим образом: public void checkRolebefore (JoinPoint _jp, HttpServletRequest request) { –