-
Notifications
You must be signed in to change notification settings - Fork 1
스프링 프로젝트 생성기록
Heyz edited this page Mar 18, 2023
·
4 revisions
🙋 Spring Project Start with intelliJ
intelliJ Ultimate 기준으로 작성
스프링부트 3.0.3 최신 lts로 도전했더니 참고할 만한 레퍼런스가 아직 많지 않아 좀 힘들다...😭
- intelliJ > new Project > Spring Initializr 선택 및 project metadata 설정
- initial dependencies 세팅
-
초기 세팅한 의존성 목록
- Spring Web❓ 스프링 프로젝트가 웹서버로서 작동할 수 있게함(임베디드 톰캣)
- Spring Security❓ 애플리케이션의 보안(인증과 권한, 인가 등)을 담당.
- Lombok❓ getter/setter, constructor와 같은 보일러플레이트 코드 줄여주는 디펜던시.
- Spring Configuration Processor❓ @ConfigurationProperties를 사용하기 위한 의존성으로 applicaiton.yml 파일의 값을 읽어와 멤버변수에 자동 할당.
- Spring Data JPA❓ 자바 ORM 표준 JPA
- queryDsl❓ com.querydsl:querydsl-jpa:5.0.0:jakarta**(springboot3.0/hibernate6.0이상의 환경에서는 javax -> jakarta로 네임스페이스 변경됨)**
- mySql❓ com.mysql:mysql-connector-j**(springboot3.0이상 버전)**
- swagger❓ API 문서작성 springdoc-openapi-starter-webmvc-ui**(springboot3.0.x 이상에서 사용할 수 있는 의존성임!)**
- jwt❓ jjwt from okta 사용
- test❓ junit
-
논의대상 의존성 목록
- lucy-xss-servlet❓ 보안관련. 참고링크
- org.apache.commons
-
추후 추가할만한 의존성 목록
- gradle7에서 compile은 deprecated 됨, implementation로 대체.
- compile 은 연결된 API 가 모두 프로젝트에 의해 노출이되고, implementation 은 노출되지 않음.
- 참고링크
- Gradle 버전에 맞는 각 의존성 버전은 공식문서에서 확인 가능.
- 공식문서
- reference docs > dependency version에서 확인!
- acoe 프로젝트의 build.gradle 문서에 주석 설명 참고! build.gradle
- maven repository에서 검색
- intelliJ 플러그인 gitIgnore로 구성 > 기본 탬플릿
- git flow 전략 사용하여 dev분리