[SPRING] 소나 : 인스턴스 메소드는 "정적"필드에 쓰지 않아야합니다.
SPRING소나 : 인스턴스 메소드는 "정적"필드에 쓰지 않아야합니다.
Sonar에서이 프롬프트가 표시됩니다. 인스턴스 메소드가 "정적"필드에 쓰면 안됩니다
이 문제를 해결하기 위해 무엇을 변경해야하는지 잘 모르겠습니다.
"SemaMonitorProxy.applicationContext"는 정적 메소드와 같아야합니까?
public class SemaMonitorProxy implements ApplicationContextAware {
private static ApplicationContext applicationContext = null;
public void registerFailedLoginAttempt(HttpServletRequest request, HttpServletResponse response) {
final SemaMonitor semaMonitor = applicationContext.getBean(SemaMonitor.class);
semaMonitor.registerFailedLoginAttempt(request, response);
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SemaMonitorProxy.applicationContext = applicationContext;
}
}
해결법
-
==============================
1.실제로이 방법은 다음과 같습니다.
실제로이 방법은 다음과 같습니다.
@Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { SemaMonitorProxy.applicationContext = applicationContext; }
정적 필드에 쓰는 인스턴스 메소드입니다.
private static ApplicationContext applicationContext
위의 메소드를 정적으로 만들 수 없습니다. 따라서 유일한 해결책은 applicationContext 선언에서 정적 키워드를 제거하는 것입니다.
private ApplicationContext applicationContext
from https://stackoverflow.com/questions/47529300/sonar-instance-methods-should-not-write-to-static-fields by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 현재 스레드에 대한 트랜잭션 동기화 세션을 얻을 수 없습니다 (0) | 2019.08.14 |
---|---|
[SPRING] Spring Data JPA를 사용하여 하나의 열을 선택하십시오. (0) | 2019.08.14 |
[SPRING] Spring Hibernate Jackson Hibernate5 모듈 (0) | 2019.08.14 |
[SPRING] 스프링 부트 애플리케이션에서 쿼리를 외부화 (0) | 2019.08.14 |
[SPRING] 스프링 부트 응용 프로그램에서 junit 테스트가 임베디드 mongoDB를 사용하도록 만드는 방법은 무엇입니까? (0) | 2019.08.14 |