티스토리 뷰
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)
'1. 자바' 카테고리의 다른 글
스프링////뮌헨/ Docker-Compose 로 Spring Boot 와 MySQL 연동하기 (0) | 2021.08.13 |
---|---|
자바/테스트/2021-08-07/ Mockito (0) | 2021.08.07 |
스프링/--/뮌헨/ Flux<Dish> example Using Pub-Sub(Observer) Pattern (0) | 2021.08.05 |
스프링/--/힐즈버러(필로아르테)/ ArtRepository.java (0) | 2021.07.10 |
자바/JPA/2021-04-07/ JPA QClass 에서 eclipspe 와 intellij 버전의 설정 (0) | 2021.04.07 |
- Total
- Today
- Yesterday
- AWS
- springMVC
- Algorithm
- intellij
- ERD
- Python
- tensorflow
- KAFKA
- COLAB
- Git
- nodejs
- SpringBoot
- JUnit
- Mongo
- terms
- Java
- FLASK
- React
- mariadb
- jQuery
- SQLAlchemy
- maven
- Eclipse
- Oracle
- docker
- vscode
- Mlearn
- JPA
- Django
- database
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |