Annotation

@Configuration

  • ์Šคํ”„๋ง์˜ @Configuration ์–ด๋…ธํ…Œ์ด์…˜์€ ์–ด๋…ธํ…Œ์ด์…˜๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ๊ตฌ์„ฑ์„ ๋•๋Š”๋‹ค. ์ด ์–ด๋…ธํ…Œ์ด์…˜์„ ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ ํด๋ž˜์Šค๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ์˜ @Bean ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์Šคํ”„๋ง ์ปจํ…Œ์ด๊ฐ€ Bean์ •์˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋Ÿฐํƒ€์ž„์‹œ ๊ทธ Bean๋“ค์ด ์š”์ฒญ๋“ค์„ ์ฒ˜๋ฆฌํ•  ๊ฒƒ์„ ์„ ์–ธํ•˜๊ฒŒ ๋œ๋‹ค.

@RequiredArgsConstructor

  • ์ด ์–ด๋…ธํ…Œ์ด์…˜์€ ์ดˆ๊ธฐํ™” ๋˜์ง€์•Š์€ final ํ•„๋“œ๋‚˜, @NonNull ์ด ๋ถ™์€ ํ•„๋“œ์— ๋Œ€ํ•ด ์ƒ์„ฑ์ž๋ฅผ ์ƒ์„ฑํ•ด ์ค๋‹ˆ๋‹ค. ์ฃผ๋กœ ์˜์กด์„ฑ ์ฃผ์ž…(Dependency Injection) ํŽธ์˜์„ฑ์„ ์œ„ํ•ด์„œ ์‚ฌ์šฉ

  • ์–ด๋– ํ•œ ๋นˆ(Bean)์— ์ƒ์„ฑ์ž๊ฐ€ ์˜ค์ง ํ•˜๋‚˜๋งŒ ์žˆ๊ณ , ์ƒ์„ฑ์ž์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ํƒ€์ž…์ด ๋นˆ์œผ๋กœ ๋“ฑ๋ก ๊ฐ€๋Šฅํ•œ ์กด์žฌ๋ผ๋ฉด ์ด ๋นˆ์€ @Autowired ์–ด๋…ธํ…Œ์ด์…˜ ์—†์ด๋„ ์˜์กด์„ฑ ์ฃผ์ž…์ด ๊ฐ€๋Šฅ

@EnableScheduling

@Scheduled

@Component

@Service

@Controller

@Component

  • ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ปจํŠธ๋กค์ด ๊ฐ€๋Šฅํ•œ Class๋“ค์˜ ๊ฒฝ์šฐ

@Bean

  • ๊ฐœ๋ฐœ์ž๊ฐ€ ์ปจํŠธ๋กค์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ Bean์œผ๋กœ ๋“ฑ๋กํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ

@Pathvariable

  • URL ๊ฒฝ๋กœ์— ๋ณ€์ˆ˜๋ฅผ ๋„ฃ์–ด์ฃผ๋Š” ์–ด๋…ธํ…Œ์ด์…˜

@Controller 
public class HomeController {
  @RequestMapping("/student/{studentId}") 
  public String student(@PathVariable String studentId, Model model) {
      model.addAttribute("studentId", studentId); 
      return "student"; 
  } 
}

Cache

@Cacheable

@CacheEvict

https://livenow14.tistory.com/56

Json

@JsonNaming

WebSocket

@EnableWebSocket

  • ์›น์†Œ์ผ“ ์„ค์ •..?

@EnableWebSocketMessageBroker

  • @Configuration์ด ์„ ์–ธ๋œ ํด๋ž˜์Šค์— ์ถ”๊ฐ€ํ•˜๋ฉด broker๊ธฐ๋ฐ˜์˜ high-level(STOMP์ธ๋“ฏ?) WebSocket Messaging์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

@MessageMapping

  • @MessageMapping์€ ํด๋ผ์ด์–ธํŠธ์—์„œ /hello์ชฝ์œผ๋กœ ๋ฉ”์„ธ์ง€๋ฅผ ์ „๋‹ฌ

  • ์›น์†Œ์ผ“์—์„œ ๋ฐœํ–‰ํ•˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋œ๋‹ค. (ex. @MessageMapping("/hello")

@SendTo

  • ์–ด๋…ธํ…Œ์ด์…˜์— ์ •์˜๋œ ์ชฝ์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ด์‹œํ‚จ๋‹ค.

  • ์›น์†Œ์ผ“์—์„œ ๊ตฌ๋…ํ•˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋œ๋‹ค.

  • 1:n ์œผ๋กœ ๋ฉ”์„ธ์ง€๋ฅผ ๋ฟŒ๋ฆด ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ์กฐ

  • ๋ณดํ†ต ๊ฒฝ๋กœ๊ฐ€ /topic (ex. @SendTo("/topic/greetings")

@SendToUser

  • 1:1์œผ๋กœ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ์กฐ

  • ์›น์†Œ์ผ“์—์„œ ๊ตฌ๋…ํ•˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋œ๋‹ค.

  • ๋ณดํ†ต ๊ฒฝ๋กœ๊ฐ€ /queue

Last updated