1. 빌드툴 (build tool)
1) 개념
- 개발시 사용되는 자동화 툴.
- 어플리케이션을 개발할 때 개발자들이 개발을 편하게 하기 위한 자동화 툴
2) 종류
- Maven (메이븐)
자동화라고 해도 프로젝트에 알려줘야 한다 ( 환경설정 )
=> pom.xml ( 설정파일: jdk/boot 버전, 필요한 jar 파일들 설정)
- Gradle (그레들)
자동화라고 해도 프로젝트에 알려줘야 한다 ( 환경설정 )
=> build.gradle ( 설정파일: jdk/boot 버전, 필요한 jar 파일들 설정)
3) 빌드툴 기능
가. 이전 개발 프로세스
소스코드작성 ----> 컴파일 ---> 테스트 파일작성(단위테스트) ----> 컴파일 ------> 패키징(jar/war) ---> 배포
필요한 외부 jar 다운
+
빌드패스
<-------------------------------------------------------------------------------------------------------------------------------------------------------->
개발자가 직접 수동으로 해줌.
나. 빌드툴 적용한 개발 프로세스
소스코드작성 ----> 컴파일 ---> 테스트 파일작성(단위테스트) -> 컴파일 ------> 패키징(jar/war) ---> 배포
필요한 외부 jar 다운
+
빌드패스
<--------------------------------------------------------------------------------------------------------------------------------------------------------->
빌드툴이 거의 자동화해줌 ( Maven, Gradle )
2. SpringBoot 프로젝트 생성 방법
==> 명시적으로 빌드툴 (build tool) 선택해야됨.
==>
STS 4 버전
==> pom.xml 파일의 프로젝트 태그내의 값은 변경해야 된다.
변경전: https://maven.apache.org/xsd/maven-4.0.0.xsd
변경후: http://maven.apache.org/xsd/maven-4.0.0.xsd
JDK: 11 버전
SpringBoot: 2.7.18 버전
1) STS에서 직접생성
- STS에서 New > Spring Starter Project 선택
2) Spring Initializer 이용한 방법
https://start.spring.io/
제너레이션 후 workspace에 저장, 여기에 압축풀기
import - Maven - 이그지스팅 - demo찾기
프로젝트 태그 오류 해결 방법
3. Maven의 기본 디렉터리 구조
src/main/java : 이전 이클립스의 src 경로와 동일. *.java 저장
src/main/resource: *.java 제외한 나머지 파일들 저장.
예> jdbc.properties, EmpMapper.xml ( 이전에는 src 에 저장 )
src/test/java : 단위 테스트 용도의 *.java 저장
src/test/resource: 단위 테스트 용도의 *.java 제외한 파일 저장.
JRE System Library : jdk 11 용 jar파일들 저장.
Maven Dependencies : SpringBoot에서 사용해야 되는 jar파일들 저장.
- junit( mockito ) 관련 jar: 단위 테스트 용도
- logback(log4j, slf4j) 관련 jar: 로그출력 ( 로깅: logging )
- 이제부터 System.out.println 더 이상 사용안함.
- spring-beans, spring-core 관련 jar : Spring Framework
- spring boot 관련 jar: Spring Boot
===> 저장 경로는 C:\Users\ssginc76\.m2\repository 이다. (로컬 저장소 )
pom.xml ( Project Object Model )
- 버전, 필요한 jar 정보등 설정
- 계층구조로 구성됨. ( 부모에 해당하는 pom.xml 있음 )
- 필요로 하는 jar 파일은 태그로 설정하면 자동으로 다운로드 되고 build path까지 해줌.
http://mvnrepository.com
Maven의 주요 기능
가. 의존성 설정
- pom.xml 에 필요로 하는 jar 파일은 태그로 설정하면 자동으로 다운로드 되고 build path까지 해줌.
- http://mvnrepository.com 에서 정보를 얻을 수 있음.
인터넷 환경이 안좋은 곳에서는 다운로드가 제대로 안될 수 있다
해결방법
나. 빌드시 사용되는 단계별 명령어
compile
test
package
install
deploy
clean
메인메서드는 se 환경에서는 스타팅포인트
웹환경에서는 메인 없었음
메인이 꼭 필요한 경우는 스탠다드 환경
없어도 되는 경우는 웹 환경
=> 근데 스프링부트는 무조건 메인 메서드가 있어야 된다.
다시 빌드 단계별 명령어
compile
test
package
install
deploy
clean
=> package는 복사하고 컴파일하고 테스트하고 패키징( 배포할때 패키징(jar/war) )까지 해줌
=> jar파일이 데모 프로젝트의 패키징
=> 이런 단계적인 작업을 Maven이 도와줌
=> AWS에 배포할 때 쓸 예정
'Spring Boot (Maven)' 카테고리의 다른 글
스프링부트 백그라운드5 ( 로깅처리 ) (0) | 2024.06.08 |
---|---|
스프링부트 백그라운드4 ( 스프링부트 장점, 특징 ) (1) | 2024.06.08 |
IoC Container에게 Bean(클래스)정보 같은 데이터를 알려주는 방법 ( Configuration 작업 ) (0) | 2024.06.03 |
스프링부트 백그라운드2 (용어 정리) (1) | 2024.06.01 |
스프링부트 백그라운드(설치) 1 (0) | 2024.06.01 |