SpringBoot
-
Springboot -동작원리SpringBoot 2021. 10. 4. 17:00
# Web Server HTTP 프로토콜을 기반으로 client의 HTTP request를 서비스 하는 서버, 프로그램 정적 컨텐츠 제공 WAS없이 즉시 request받은 서비스를 제공할 수 있다 이미 저장된 파일을 의미하고, 항상 동일한 페이지를 반환한다. 동적 컨텐츠 제공을 위해 request 전달 client의 request를 WAS에 전송하고 WAS의 처리 결과를 다시 client에게 전달한다. request에 따라 동적으로 달라지는 컨텐츠는 WAS에 의해 처리된다. ex) Apache, Nginx, IIS 등.. # WAS: Web Application Server HTTP 프로토콜을 기반으로 client의 동적 컨텐츠에 대한 request를 서비스하는 서버, 프로그램 즉, 동적 웹 프로그래밍을..
-
Springboot -DI, IoC, Bean ...SpringBoot 2021. 10. 4. 16:51
# Spring IoC(Inversion of control) DL(Dependency Lookup: 의존성 탐색) + DI(Dependency Injection: 의존성 주입) 제어의 역전: 객체의 생성부터 생명주기 전체를 개발자가 아닌 특정 컨테이너가 도맡아 제어권이 컨테이너로 넘어가게 되는 개념 Bean: IoC컨테이너에서 관리하는 자바 객체(POJO: Plain Old Java Object) 각 bean은 singleton 방식으로 생성된다. IoC 컨테이너(=DI 컨테이너): 객체를 생성, 관리하는 객체로 bean형태로 객체를 관리한다. IoC 컨테이너에 bean을 등록하는 방법 @Component 또는 @Component를 사용하는 다른 어노테이션(@Controller 등)이용 해당 어노테이션..
-
Springboot -@SpringBootApplicationSpringBoot 2021. 10. 4. 16:47
# SpringBoot의 시작 SpringBoot는 main() 메소드가 선언된 클래스를 기준으로 시작된다. 해당 main() 메소드에는 @SpringBootApplication 어노테이션이 붙어있다. 해당 @SpringBootApplication 어노테이션은 여러 어노테이션으로 이루어진 메타 어노테이션이다. # @SpringBootApplication @EnableAutoConfiguration + @ComponentScan + @SpringBootConfiguration 위 3개의 주요 어노테이션으로 빈 등록 및 자동 설정을 수행한다 # @ComponentScan 해당 어노테이션이 선언된 클래스는 본인의 하위 패키지에서 @Component, @Service, @Repository, @Controlle..
-
[Gradle] build.gradle 분석SpringBoot/Gradle 2021. 9. 28. 08:57
buildscript { ext { (1) springBootVersion = '2.2.9.RELEASE' } repositories { (2) mavenCentral() } dependencies { (3) classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } (1) ext build.gradle에서 사용하기 위한 전역변수를 선언하고 정의하는 부분 sptingBootVersion이라는 전역변수를 선언하고 해당 전역변수의 값을 '2.2.9.RELEASE'로 정의 이후 (3)에서 전역변수 springBootVersion값을 사용 (2) repositories 각종 의존성(라이브러리)들을 어떤 원격 저장..
-
[Gradle] Gradle Build System 분석SpringBoot/Gradle 2021. 9. 28. 08:54
Gradle이란.. Groovy를 기반으로 한 오픈소스 빌드 자동화 툴 빌드 도구: 소스 코드로부터 애플리케이션(SW)을 자동으로 생성하는 도구 컴파일, 테스팅, 배포(deploy) 등 모든 과정을 포함한다. Groovy JVM(Java Virtual Machine)에서 실행되는 스크립트 언어로 문법이 Java와 비슷함 Gradle build system ├─ gradle │ └─ wrapper │ ├─ gradle-wrapper.jar │ └─ gradle-wrapper.properties ├─ gradlew ├─ gradlew.bat ├─ build.gradle └─ settings.gradle gradle-wrapper.jar gradlew나 gradlew.bat파일이 해당 파일을 이용하여 grad..