Я столкнулся с упомянутой ниже ошибкой, связанной с аспектно-ориентированным программированием Spring.
2022-05-06 17:26:44 ERROR org.springframework.boot.SpringApplication.java Line 826: Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'projectingArgumentResolverBeanPostProcessor' defined in class path resource [org/springframework/data/web/config/ProjectingArgumentResolverRegistrar.class]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error at ::0 formal unbound in pointcut
Ранее я использовал файл applicationContext.xml. Но после того, как я добавил аннотацию @Configuration в класс CommonController и удалил файл applicationContext.xml. Я просто ищу некоторые решения и применяю их к своему коду, но так и не устранил проблему. Надеюсь на вашу поддержку и прикреплю мой код ниже, спасибо.
Aspect.java
package com.intervest.medical.aggregator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Aspect {
private Logger logger = LoggerFactory.getLogger(this.getClass());
public void aspect() {
logger.info("FFFFFFFFFFFFF {} | request {} | registerParam {}", "RETURNVALUE", "request", "registerParam");
}
}
CommonController.java
package com.intervest.medical.aggregator.controller;
import com.healix.blackboxdirect.ArrayOfString;
import com.healix.blackboxdirect.DirectServiceSoap;
import com.intervest.medical.engine.domain.*;
import com.intervest.medical.engine.service.*;
import com.intervest.medical.engine.util.*;
import com.intervest.medical.engine.constants.RegisterError;
import com.intervest.medical.engine.constants.RegisterState;
import com.intervest.medical.engine.dto.ValidationDTO;
import com.intervest.medical.engine.dto.XmlResultDTO;
import com.intervest.medical.engine.enums.Stub;
import org.apache.commons.lang.StringUtils;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
@Controller
@Aspect
@Configuration
public class CommonController {
private static final Logger LOG = LoggerFactory.getLogger(CommonController.class);
@Autowired
ScreeningProxyService screeningProxyService;
@Autowired
MedicalDataKeeperService medicalDataKeeperService;
@Autowired
private MedicalUrlService medicalUrlService;
@Autowired
private MedicalConstantsService medicalConstantsService;
@Autowired
private MedicalConfigService medicalConfigService;
@ResponseBody
@Pointcut("within(com.intervest.medical.aggregator.Aspect.*)")
@Before("reScreenAndGetXmls(@RequestBody RegisterParam registerParam)")
@RequestMapping(value = "/medical/screeningData/register", method = RequestMethod.POST)
public RegisterResult doScreen(HttpServletRequest request, @RequestBody RegisterParam registerParam) {
ValidationDTO intiValidationDTO = screeningProxyService.initialValidation(registerParam, false);
if (!intiValidationDTO.isSuccess()) {
return new RegisterResult(null, intiValidationDTO.getErrMsg());
}
........................
}
Application.java
public static void main(String[] args) throws Exception {
SpringApplication springApplication = new SpringApplication(Application.class);
springApplication.setBannerMode(Banner.Mode.OFF);
Environment environment = springApplication.run(args).getEnvironment();
ApplicationContext applicationContext = SpringApplication.run(Application.class, args);
Aspect e = (Aspect) applicationContext.getBean("Aspect");
e.aspect();
}
Подробнее здесь: https://stackoverflow.com/questions/721 ... tion-error
Ошибка создания bean-компонента с именем «org.springframework.transaction.annotation». ошибка в ::0 формальной несвязке ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение