프로젝트 생성

start.spring.io

  • project 부분 → 기존에는 Maven project를 많이 사용했지만 요즘에는 Gradle로 프로젝트를 진행
  • Language 부분 → 우리는 Java 를 배우기때문에 java 를 선택 하면 된다.
  • Spring Boot 부분 → SnapShot 은 아직 개발 중인 버전 M1같은 것들도 정식 릴리즈 되지 않은것 제일 좋은 버젼으로 사용 하자
  • Project Metadata →
    • Group → 보통 기업 도메인 명을 입력해 준다.
    • Artifact → 빌드된 결과물 (프로젝트 명) 을 넣어준다
  • Dependencies → (중요!!!) 스프링 부트로 프로젝트를 실행 할 것인데 어떤 라이브러리를 당겨 쓸지 선택하는 부분
    • Spring Web
    • Thymeleaf → html을 만들어주는 템플릿 엔진 (종류가 여러가지가 있는데 마음에 드는게 없다고 하심)

다음과 같이 성정 하고 GENERATE 해준다.

 

스프링 프로젝트 구조

  • idea → 인텔리제이가 사용하는 설정 파일들
  • src →
    • main → 우리가 작성하는 코드
      • resources → 실제 자바 코드 파일을 제외한 xml 이나 설정 파일들이 들어가있는다.
    • test → 테스트 코드를 작성 하는 위치 (요즘 개발 트렌드에서는 중요하다)
  • build.gradle → 깊게 공부할 필요는 없다 버전 설정하고 라이브러리를 댕겨오는 파일 이란것으로 기억하자
    • dependencies → 우리가 설정한 라이브러리 들이 들어가 있다. testImplementation 이건 test 라이브러리 인데 jUnit5 가 들어 있다.
  • gitignore → 깃에 들어가면 안될 파일들을 지정해주는곳

 

springApplication 기능

main 메서드를 실행 시키면 해당 클래스인 springBoot Application 이 실행이 된다.

이때에 tomcat 이라는 web server를 내장하고 있는데 자체적으로 띄우면서 spring boot가 실행 되게 된다고 한다.

 

⎈ 수업중 발생한 오류

수업 마무리에 gradle을 통한 빌드보다 intellj로 빌드를 하면 빠르다고 해당 값을 변경 하라고 했다.

 

기존 gradle로 빌드 할때에는 오류가 안생겼는데

 

해당 값을 gradle에서 intellij로 변경하니 다음과 같은 경고가 발생 했다.

 

경고 메세지는 다음과 같았다.

Cannot find template location: classpath:/templates/ 
(please add some templates, check your Thymeleaf configuration,
 or set spring.thymeleaf.check-template-location=false)

번역해보니 이런 오류 였다.
템플릿 위치: classpath:/templates/를 찾을 수 없습니다
(템플릿을 추가하고, Thymeleaf 구성을 확인하십시오,
또는 set spring.thymeleaf.check- template-location= false)

봐도 무슨 말인지 몰라 경고 메세지를 검색 해봤고 나와 동일한 오류를 겪은 사람이 질문을 남겨 뒀었다.

 

해결 방법은 recources 내부에 templates 폴더 안에 빈 index.heml 파일을 넣으라는 좋언이 있어

 

한번 다음과 같이 생성 해 봤다. (안에 무슨 내용이 들었든 상관없이 index.html 파일을 만들어 주자.)

 

생성 해주고 난 후 실행해보면

 

에러 코드 없이 잘 실행 된 것을 볼 수 있다.

 

간단한 웹 애플리 케이션 개발 을 목표로

  • 스프링 프로젝트 생성
  • 스프링 부트로 웹 서버 실행
  • 회우너 도메인 개발
  • 웹 MVC 개발
  • DB 연동 -JDBC, JPA, 스프링 데이터 JPA
  • 테스트 케이스 작성

 

 

순으로 진행

해당 기능들을 사용 할 예정

스프림 웹 어플리케이션을 만드는 예제를 만들어보면 길이 보인단다 → 영한이형 왈

  • 스프링 기술 자체에 매몰 X
  • 어떻게 사용해야 하는지에 초점
  • 오래된 스프링 기술 X
  • 마이너한 스프링 기술 X

로드맵

  1. 스프링 입문
  2. 스프링 핵심 원리
  3. 스프링 웹 MVC
  4. 스프링 DB 데이터 접근 기술
  5. 실전! 스프링 부트

+ Recent posts