JAVA(243)
-
[springboot][Gradle] 자동 설정 만들기 #1 Starter와 Auto-Configure
개요 스프링부트는 필요한 의존성 라이브러리를 가져와서 사용할 수 있습니다. 시작하고자 하는 애플리케이션에 @EnableAutoConfiguration 어노테이션을 적용하면 외부 라이브러리들의 정의된 빈들을 IOC 컨테이너에 등록하여 사용할 수 있습니다. 이러한 @EnableAutoConfiguration 어노테이션은 대개 @SpringBootApplication 어노테이션에 같이 정의되어 있습니다. 이 글에서는 Gradle 빌드 도구를 기반으로 외부 라이브러리를 만들고 로컬 메이븐 저장소에 저장한다음 현재 작업하는 프로젝트에 의존성 라이브러리로써 가져와서 빈을 등록하고 출력하는 것을 실습해보겠습니다. 1. 자동 설정 구현 1.1 프로젝트 추가 1.2 의존성 추가, build.gradle 파일 depend..
2022.08.15 -
[springboot] 자동 설정(Auto-Configuration) 이해
1. 자동 설정 개요 빈(Bean)의 두 단계 등록 1단계 : @ComponentScan 2단계 : @EnableAutoConfiguration @ComponentScan @Component @Configuration, @Repository, @Service, @Controller, @RestController @EnableAutoConfiguration spring.factories org.springframework.boot.autoconfigure.EnableAutoconfiguration @Configuration @ConditionalOnXxxYyyZzz 2. @ComponentScan 애플리케이션이 실행되면 @Component 어노테이션을 탐색합니다. 탐색 위치는 @ComponentScan 어..
2022.08.15 -
[springboot] 스프링 부트로 개발하기
본 내용은 Spring Boot Reference Documentation의 일부 내용을 번역하여 정리한 것입니다. 해당 내용은 원문 내용과 틀릴수도 있습니다. 1. 스프링부트로 개발하기 스프링부트로 개발할때 다음과 같은 기능에 대해서 알아봅니다. 빌드 시스템(Build System) 설정 클래스(Configuration Class) 1.1 빌드 시스템(Build System) 빌드 시스템은 다음 두 기능을 제공하는 시스템을 선택하는 것을 권장합니다. 의존성 관리 지원 "Maven Central" 저장소에 배포된 라이브러리 사용 가능 1.1.1 의존성 관리(Dependency Management) 스프링 부트의 각 릴리스(release)는 지원되는 의존성 목록을 제공합니다. 실제로 당신의 빌드 설정에서 ..
2022.08.12 -
[springboot] 의존성 관리의 이해 및 응용
1. 스프링 부트의 핵심적인 기능 : 의존성 관리(Dependencies Management) 의존성 관리란 무엇인가? 자바 스프링에서는 대표적으로 메이븐(Maven), 그레이들(Gradle)이라는 빌트 도구가 존재합니다. 이 빌드 도구들은 빌드 도구들을 이용해서 애플리케이션에 필요한 라이브러리들을 다운로드할 수 있게 도와주는 도구입니다. 여기서 다운로드 받은 어떤 한 라이브러리는 다른 라이브러리가 필요한 경우가 있습니다. 이러한 경우처럼 한 라이브러리가 다른 라이브러리를 필요한 경우를 의존성이 있다고 할 수 있습니다. 스프링부트는 어떤 한 라이브러리를 다운로드받을 때 해당 라이브러리가 의존하는 다른 라이브러리들도 같이 다운로드할 수 있도록 의존성 관리를 수행합니다. 스프링부트가 의존성을 관리하는 원리는..
2022.08.11 -
[springboot] 스프링 부트 소개
1. 스프링 부트(SpringBoot) 소개 스프링 부트는 토이 프로젝트가 아닌 제품-수준(Production-Grade)의 스프링 기반 애플리케이션을 독립적으로 만들때 빠르고 쉽게 만들수 있는 것입니다. 2. 스프링 부트(SpringBoot)의 기능 단독으로 실행 가능한 스프링 애플리케이션을 생성 내장형 서블릿 컨테이너를 사용(톰캣, 제티, 언더토우) 기본 설정되어 있는 ‘starter’ 컴포넌트들을 쉽게 추가함 스프링 설정이 가능한 자동 설정 되어 있음 상용화에 필요한 통계, 상태 점검 및 외부 설정을 제공함 설정을 위한 XML 코드를 생성하거나 요구하지 않음 3. 시스템 요구사항 Spring Boot 2.7.2 : java 8 이상 Spring Framework 5.3.22 : java 8 이상 빌..
2022.08.08 -
[springboot] 프로젝트 생성
스프링부트 프로젝트 생성 1. Spring Initializer에서 생성하기 Project : Gradle Project Language : Java Spring Boot : 2.6.10 Project Metadata Group : com.yh Artifact : basic Name : basic Description : Demo project for Spring Boot Package name : com.yh.basic Packaging : Jar Java : 11 Dependencies Spring Web Thymeleaf Spring Data JPA H2 Database Lombok Validation 2. [GENERATE] 버튼 클릭 ‘artifact’ 이름으로 된 zip 파일 다운로드 및 압축..
2022.08.08