Skip to content

Latest commit

ย 

History

History
32 lines (26 loc) ยท 1.19 KB

File metadata and controls

32 lines (26 loc) ยท 1.19 KB

@PostConstruct

์„ค๋ช…

  • @PostConstruct์€ ์˜์กด์„ฑ ์ฃผ์ž…์ด ์™„๋ฃŒ๋œ ํ›„์— ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ๋ฉ”์„œ๋“œ์— ์‚ฌ์šฉํ•˜๋Š” ์–ด๋…ธํ…Œ์ด์…˜์ด๋‹ค.
  • ํ•ด๋‹น ์–ด๋…ธํ…Œ์ด์…˜์ด ์„ ์–ธ๋œ ๋ฉ”์„œ๋“œ๋Š” ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค์—์„œ ํ˜ธ์ถœ๋˜์ง€ ์•Š์•„๋„ ์ˆ˜ํ–‰๋œ๋‹ค.
  • ์ƒ์„ฑ์ž๋ณด๋‹ค ๋Šฆ๊ฒŒ ํ˜ธ์ถœ๋œ๋‹ค.
    1. ์ƒ์„ฑ์ž ํ˜ธ์ถœ
    2. ์˜์กด์„ฑ ์ฃผ์ž… (@RequiredArgsConstructor or @Autowired)
    3. @PostConstruct ํ˜ธ์ถœ

์‚ฌ์šฉ ์ด์œ 

  • ์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ bean์€ ์ดˆ๊ธฐํ™” ์ „์œผ๋กœ, @PostConstruct๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด bean์ด ์ดˆ๊ธฐํ™” ๋จ๊ณผ ๋™์‹œ์— ์˜์กด์„ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • bean์˜ ์ƒ๋ช… ์ฃผ๊ธฐ์—์„œ ๋‹จ ํ•œ ๋ฒˆ๋งŒ ์ˆ˜ํ–‰๋˜๋ฏ€๋กœ ์ดˆ๊ธฐํ™” ๋ฉ”์„œ๋“œ์— ์„ ์–ธํ•˜๋ฉด ์—ฌ๋Ÿฌ ๋ฒˆ ์ดˆ๊ธฐํ™”๋˜๋Š” ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ์šฉ ์˜ˆ์ œ

@Service
@RequiredArgsConstructor
public class testService {
    // ...
    
    private final Map<String, Object> serviceSetups = new HashMap<>();
    
    @PostConstruct
    public void setup() {
        serviceSetups.put("service", Service.TEST);
        serviceSetups.put("applicationType", ApplicationType.PROTOTYPE);
        serviceSetups.put("message", "This setup is occured in PostConstruct.");
    }
}