티스토리 뷰

Spring Boot 최초 실행을 이해하기 위해서는 Notation, Annotation, Decorator, Metadata 을 인지하는 것이 중요하다.

 

Notation 은 Instance  이다. 개발자가 보는 주석이다.

그렇다면 JSON (JavaScript Object Notation)에서 Notation 은 무슨 뜻인가 ?

 

@ Annotation 은 Metadata 주석, 분석, 별도의 Process 를 개발해서 사용한다

상호학파 - Compiler 가 보는 주석인데, 주석이라서 실제 역할을 하지 않는다.

지혜학파 - Compile 과정에서 Annotation 정보에 따라 코드를 생성한다.

혜민학파 - Compiler 에게 Metadata 를  역할을 한다

 

#, // 과 같은 코드는  comment 를 의미한다.

Annotation  이 주석이라면 Comment 와 차이는 무엇인가 ?

 

@ Decorator 파이썬에서 선언하고 바로 적용해서 호출하는 함수이다.

 

Metadata vs Data

 

 

@SpringBootApplication  는 AutoConfiguration 과 ComponentScan 기능을 하는 복합 Annotation 이다.

public static void main(String[] args) 는 전역(Application)을 실행 하는 함수다.

SpringApplication.run(UserServiceApplication.class, args) 는 Hook 함수다.

 

UserServiceApplication 는 Web Container 에 설치할 필요가 없는 Application 이다.

이것을 가능하게 한 이유는 AutoConfiguration 은 Bean 객체를 생성하기 때문이다.

 

WebFluxAutoconfiguration Bean 은 다음 조건에서 생성된다.

1. Reactive Container 

2. WebFlux

3. WebFluxConfigurationSupport

 

Bean 을 등록하는 방법은 두가지인데, 수동으로 등록(new 사용)과 Component Scanning 이다.

@SpringBootApplication 이 실행되면, 모든 Bean 은 Application Context 에 등록된다.

 

 

메타데이터에 대한 위키피디아의 정의는 다음과 같다.

cskstory 블로거에서 다음과 같은 부분을 발췌해서 참조한다. (https://cskstory.tistory.com/entry/%EB%A9%94%ED%83%80-%EB%AA%A8%EB%8D%B8-%EC%9D%B4%EB%9E%80)

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함