이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 20361|회답: 0

[출처] Java는 @PostConstruct 생성자와 정적 생성자 간의 차이를 주석으로 표시합니다

[링크 복사]
2021-7-30 10:48:11에 게시됨 | | | |
최근에 회사 프로젝트 @PostConstruct에서 이 주석을 발견하고 혼란스러웠습니다.

복습:

Java annotations@PostConstruct과 자세한 설명 및 예시@PreDestroy
https://www.itsvse.com/thread-7386-1-1.html


상담 후 요약은 다음과 같습니다:

1. Java EE5 명세부터 시작해, 서블렛의 생명 주기에 영향을 미치는 두 가지 주석인 @PostConstruct와 @PreDestroy이 비정적 void() 메서드를 수정하는 데 사용됩니다. 두 가지 글씨 방법이 있습니다:

@PostConstruct

public void someMethod(){}

또는

public @PostConstruct void someMethod(){}

@PostConstruct 수정된 메서드는 서버가 서블렛을 로드할 때 실행됩니다.서버에서 한 번만 실행됩니다。 PostConstruct는 구성자 이후, init() 메서드 전에 실행됩니다. PreDestroy() 메서드는 destroy() 메서드가 지적 상태인 후에 실행됩니다



또한 Constructor, @Autowired, @PostConstruct 주문은 봄에 진행됩니다

사실, 의존성 주입의 문자적 의미로부터, 객체 p를 객체 A에 주입하려면, 주입을 수행하기 전에 먼저 객체 A와 객체 p가 생성되어야 한다는 것을 알 수 있습니다. 따라서 구성원 변수 p가 클래스 A에 주석이 @Autowried 있다면, @Autowired 주입은 A의 구성 메서드가 실행된 후에 발생합니다.

객체를 생성할 때 초기화 작업을 완료하고 싶고, 이 초기화 작업이 의존성 주입에 의존한다면, 생성자에서는 할 수 없습니다. 이를 위해 주석 메서드@PostConstruct 사용하여 초기화를 완료할 수 있으며, 의존성 주입이 완료되면 주석이 달린 메서드@PostConstruct 자동으로 호출됩니다.

제작사 >> @Autowired >> @PostConstruct

본보기:







이전의:Docker Installs Redis Visual Management Tool (redis-manager)
다음:카프카의 auto.offset.reset 값이 자세히 설명되어 있습니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com