maven (6) 썸네일형 리스트형 [Spring Boot] 독립적으로 실행 가능한 JAR # mvn package 실행 가능한 JAR 파일 하나가 생성됨 생성된 jar 파일 내에 모든 의존성과, 앱에 필요한 모든 것이 다 포함되어 있음 # spring-maven-plugin : 패키징 # 과거 "uber.jar" 사용 모든 jar 파일을 합쳐서 하나의 jar로 만듦 모든 클래스(의존성 및 애플리케이션)를 하나로 압축하는 방법 뭐가 어디에서 온 건지 알 수 없음 (무슨 라이브러리를 쓰는 건지..) 내용은 다르지만 이름이 같은 파일일 경우 문제 # Spring Boot의 전략 내장 JAR : 기본적으로 Java에는 내장 JAR를 로딩하는 표준적인 방법이 없음 애플리케이션 클래스와 라이브러리 위치 구분 org.springframework.boot.loader.jar.JarFile 을 사용해서 내장.. [Spring Boot] Auto Configuration 만들기 1. Spring-Boot-AutoConfigure vs Spring-Boot-Starter XXX-Spring-Boot-Autoconfigure 모듈 : 자동 설정 XXX-Spring-Boot-Starter 모듈 : 필요한 의존성 정의(pom.xml이 중요) 하나로 만들고 싶으면 Starter로 만들면 됨 2. pom.xml에 의존성 추가 (Project A) org.springframework.boot spring-boot-autoconfigure org.springframework.boot spring-boot-autoconfigure-processor true org.springframework.boot spring-boot-configuration-processor true 3. Human cl.. [Spring Boot] 자동 설정 (Auto Configuration) 1. @EnableAutoConfiguration @SpringBootApplication만 적어도 Application 실행 시 여러 설정들이 읽히면서 웹 Application이 뜨게 되는 이유는 EnableAutoConfiguration 때문 2. @SpringBootApplication @SpringBootApplication은 다음 세 개의 어노테이션으로 바꿀 수 있음 @SpringBootConfiguration : @Configuration과 동일(명칭만 다르다고 봐도 무방) @ComponentScan @EnableAutoConfiguration 으로 바꿀 수 있음 3. Spring Boot의 빈을 등록하는 2단계 @ComponentScan 으로 등록 @EnableAutoConfiguration.. [maven] 의존성 찾기 1. mvnrepository 접속 https://mvnrepository.com/ 2. 의존성 검색 3. 버전 선택 4. 복사해서 pom.xml에 붙여넣기 [Spring Boot] 의존성 관리 1. 의존성 관리 pom.xml내에 dependency는 버전 정보를 적지 않아도 Spring Boot가 제공하는 의존성 관리에 의해 알아서 가져옴 Spring Boot가 제공하지 않거나 특정 버전을 사용하고 싶은 경우 직접 명시해야 함 프로젝트의 구조 때문에 parent POM을 사용할 수 없는 경우에는 dependencyManagement를 사용하면 되지만 spring-boot-starter-parent 사용을 권장 # pom.xml에서 parent를 타고 들어가게 되면 # 최상단에 위치한 파일에 tomcat, thymeleaf 등의 dependency 확인 가능 2. 의존성 추가 추가해야 할 의존성을 내에 지정 좌측에 화살표 위쪽 방향이 표시된 경우 자동으로 버전관리를 해주기 때문에 버전을 명시하지.. [Spring Boot] Spring Boot 시작하기 1. Spring Boot 소개 독립적이고, 제품 수준인 Spring 기반 application을 만들 때, 빠르고 쉽게 만들 수 있음 유저가 최소한의 설정만 할 수 있도록 자주 사용되는 설정 값을 기본적으로 제공함 ex) 톰캣 Java 8 이상에서 사용 가능 2. Spring Boot 목적 Spring application 개발을 더 빠르고, 폭넓게 할 수 있음 기본적으로 자주 사용하는 설정 값을 제공하지만, 요구사항에 맞게 얼마든지 변경할 수 있음 non-functional 기능도 제공함 ex) embedded servers, security, metrics, health checks, externalized configuration 코드 제너레이션과 XML 설정을 하지 않음 3. maven Java.. 이전 1 다음