본문 바로가기

intellij +springboot

[intellij]그래들 스프링부트 프로젝트 시작하기(gradle + springboot) - 1

 

지금까지 혼자 해본건 메이븐 빌드도구를 사용하다가 그래들이 요즘 추세라는 얘기를 들어서 처음으로 그래들로 프로젝트 시작해보려 한다.  최대한 복붙없이 초기설정부터 차근차근 시작해보자

 

1. spring Initializr 탭 에서 자바버전을 선택해주고 Next (11버전을 사용하고 싶었지만 서버쪽에 다운받아놓은게  1.8버전이라 1.8 버전 선택함)

 

2. 아래 항목을 선택 또는 입력한다

 

     - Group:  GroupId는 자신의 프로젝트를 식별해주는 고유 아이디이다. 보통 URL의 역순 형태이다.

     - Artifact: 버전이 없는 jar 파일의 이름, 프로젝트 이름으로도 쓰인다

     - Type: 빌드관리도구 (gradle, maven)

     - Language: 언어

     - Packaging: 배포파일 타입 (jar, war)

     - Java version: 자바 버전 (내가 셋팅한 자바버전 저같은경우는 8)

     - Version: 새로운 프로젝트의 버전

     - Name: 프로젝트명

     - Description: 프로젝트 설명

     - Package: 패키지

 

3. 필요한 dependency를 추가한다.

     Spring Web 과 DB 드라이버 정도만 기본적으로 추가해준다

    후에 build.gradle 파일에서 필요한 dependency를 추가할 수 있다

 

*저같은 경우에는 어떤게 정확히 어떤역할 인지 몰라서 이거 들어봤다 싶은건 전부 추가했습니다. 스프링 부트(Spring Boot Dev), 타임리프 템플릿엔진(Thymeleaf), 마이바티스(MyBatis Framwork) 마리아디비(MariaDB Driver), 사용해서 신경써서 추가했고 Spring Session 만 추가 안하시면 될것 같습니다.

 

dependency 추가방법은 클릭>

 

더보기

번외)> dependency 검색 및 추가

 

 

https://mvnrepository.com/ 에 가면 필요한 dependency를 검색할 수 있다.

dependency 검색후 버전을 클릭하고 하단에 Gradle 탭을 눌러서 build.gradle에 복사 붙여넣기 하면 된다.

 

 

 

 

4. Module의 이름과 root 경로를 지정해 줍니다.

 

 

 

 

 

 

폴더 구조가 이렇게 나오면 성공 일단 실행시켜 봅시다. 일단 DB 설정을 안해놨으니 

@SpringBootApplication -> @SpringBootApplication(exclude={DataSourceAutoConfiguration.class})

 

 

templates 폴더에 기본 index 파일 만들어주고 static에는 css,img 디렉토리를 만들어 줍니다.

 

만드는 도중  겹처지는건  톱니바퀴에 Compact Middle Packages 잠시 체크 해제 하시면 됩니다.

 

 

 

이제 실행 시켰으나 Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer' defined in class path resource 

[org/springframework/boot/autoconfigure/session/RedisSessionConfiguration$SpringBootRedisHttpSessionConfiguration.class]: 

Invocation of init method failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; 

nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379

에러 ..

Caused by: org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379

 

찾아보니..

tool box 는 기본 IP는 192.168.99.100 로 localhost(127.0.0.1)와 다르기 때문에 그러네요 아래의 properties를 추가 하면 정상작업 가능합니다.

spring.redis.host=192.168.99.100

spring.redis.port=6379

 

출처 : https://www.inflearn.com/questions/12010

 

하지만 필자는 추가시켜도 해결되지 않았다. 어디서 에러 날게 없으니 기본 설정이 문제일거 같은데..

gralde 설정으로 가서 어디서 들어본 세션을 추가해서

org.springframework.session:spring-session-data-redis

문제인가 싶어서 지우고 다시 빌드

 

 

실행은 잘된다 근데 정적파일을 못가져온다..

../static/img/

../../resources/static/img/

경로를 맞게 줘봐도 새로고침을 아무리해도 못가져온다..  찾아보니

application.property 또는 application.yml 등에 설정을 추가 해줘야 한다고 한다.

- spring.mvc.static-path-pattern: /static/** (각자 정적폴더 위치에 맞게 추가해 주세요)

 

 

 

참고 : https://jhyonhyon.tistory.com/3

 

.

.

.

.

 기본셋팅을 항상 복붙으로만 하다보니 초기 설정이 오래 걸린다..