Annotation
@Configuration
์คํ๋ง์ @Configuration ์ด๋ ธํ ์ด์ ์ ์ด๋ ธํ ์ด์ ๊ธฐ๋ฐ ํ๊ฒฝ๊ตฌ์ฑ์ ๋๋๋ค. ์ด ์ด๋ ธํ ์ด์ ์ ๊ตฌํํจ์ผ๋ก์จ ํด๋์ค๊ฐ ํ๋ ์ด์์ @Bean ๋ฉ์๋๋ฅผ ์ ๊ณตํ๊ณ ์คํ๋ง ์ปจํ ์ด๊ฐ Bean์ ์๋ฅผ ์์ฑํ๊ณ ๋ฐํ์์ ๊ทธ Bean๋ค์ด ์์ฒญ๋ค์ ์ฒ๋ฆฌํ ๊ฒ์ ์ ์ธํ๊ฒ ๋๋ค.
@RequiredArgsConstructor
์ด ์ด๋ ธํ ์ด์ ์ ์ด๊ธฐํ ๋์ง์์ final ํ๋๋, @NonNull ์ด ๋ถ์ ํ๋์ ๋ํด ์์ฑ์๋ฅผ ์์ฑํด ์ค๋๋ค. ์ฃผ๋ก ์์กด์ฑ ์ฃผ์ (Dependency Injection) ํธ์์ฑ์ ์ํด์ ์ฌ์ฉ
์ด๋ ํ ๋น(Bean)์ ์์ฑ์๊ฐ ์ค์ง ํ๋๋ง ์๊ณ , ์์ฑ์์ ํ๋ผ๋ฏธํฐ ํ์ ์ด ๋น์ผ๋ก ๋ฑ๋ก ๊ฐ๋ฅํ ์กด์ฌ๋ผ๋ฉด ์ด ๋น์ @Autowired ์ด๋ ธํ ์ด์ ์์ด๋ ์์กด์ฑ ์ฃผ์ ์ด ๊ฐ๋ฅ
@EnableScheduling
@Scheduled
@Component
@Service
@Controller
@Component
๊ฐ๋ฐ์๊ฐ ์ง์ ์ปจํธ๋กค์ด ๊ฐ๋ฅํ Class๋ค์ ๊ฒฝ์ฐ
@Bean
๊ฐ๋ฐ์๊ฐ ์ปจํธ๋กค์ด ๋ถ๊ฐ๋ฅํ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ Bean์ผ๋ก ๋ฑ๋กํ๊ณ ์ถ์ ๊ฒฝ์ฐ์ ์ฌ์ฉ
@Pathvariable
URL ๊ฒฝ๋ก์ ๋ณ์๋ฅผ ๋ฃ์ด์ฃผ๋ ์ด๋ ธํ ์ด์
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