springboot static 호출 서 비 스 를 null 로 어떻게 해결 합 니까?

springboot static 호출 서 비 스 는 null 입 니 다.
@PostConstruct 는 많은 사람들 이 Spring 이 제공 한 것 이 라 고 생각 합 니 다.사실은 자바 의 주해 입 니 다.
자바 의 설명:
@PostConstruct 이 주 해 는 비정 상 void()방법 을 수식 하 는 데 사 용 됩 니 다.@PostConstruct 에 의 해 수 정 된 방법 은 서버 에서 Servlet 를 불 러 올 때 실행 되 며 서버 에서 한 번 만 실 행 됩 니 다.PostConstruct 는 구조 함수 이후 에 실행 되 며 init()방법 전에 실 행 됩 니 다.
보통 Spring 프레임 워 크 에서@PostConstruct 주석 을 사용 합 니 다.
Constructor(구조 방법)->@Autowired(주입 의존)->@PostConstruct(주석 방법)
실전:
정적 방법 에서 주입 에 의존 하 는 Bean 의 방법 을 호출 합 니 다.

@Component
public class LeaveCode {
    @Autowired
    private IPlaLeaveApplyService plaLeaveApplyService;
    public static LeaveCode leaveCode;
    /**
     *    static         service null
     */
    @PostConstruct
    public void init(){
        leaveCode = this;
        leaveCode.plaLeaveApplyService = this.plaLeaveApplyService;
    }
 }
SpringBoot 정적 클래스 서비스 빈 포인터/NULL 도입
Spring 이 service 를 주입 한 후 정상 적 인 상황 에서 비정 상 방법 은 등 록 된 service 를 정상적으로 사용 할 수 있 습 니 다.그 당시 정적 클래스 로 참조 할 때 정적 클래스 static 방법 은 spring 이 주입 한 service 를 비 웁 니 다.
빈 지침 을 인용 하 는 상황 을 조성 하면 어떻게 해결 합 니까?

@Component
public class UserUtils {
    @Autowired
    private UserService userService;
    private static UserUtils userUtils;
 
    @PostConstruct
    public void init() {
        userUtils = this;
        userUtils.userService = this.userService;
    }
}
사용:

User user = userUtils.userService.getUser(loginCode);
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기