반응형
- 부트 스타터 라이브러리 버전이 3점대 버전이라 JDK 17 버전을 써야 한다.
스타터 버전이 2점대 버전이면 JDK11버전을 써야하는데, 최신버전은 3점대이기에 JDK17 버전으로 바꿔줘야 한다. - 부트는 STS4 버전을 이용하는것을 권장한다
→ 대신 이 버전의 경우 legacy 프로젝트는 못만든다.
→ https://spring.io/tools
- 참고로 spring.io 홈페이지에서도 부트 프로젝트를 만들 수 있다
→ https://start.spring.io/
환경설정
- 무조건 jdk17 버전으로 써야 한다.
⇒ 다시 17로 바꿔야 한다.
⇒ 고급 시스템설정 >> 환경변수 >> 11버전
(만약 Spring Legacy Project 진행때문에 jdk 버전이 11버전으로 되어있었다면 이것을 11버전으로 변경시켜줘야 한다.) - starter 프로젝트 생성
→ 프로젝트 이름 : boot
→ group : xyz.itwill - 그동안 메이븐을 써봤으니 이번에는 Gradle 이용
- 여태까지 응답은 JSP로 응답했는데, 스프링 부트는 JSP를 거의 쓰지 않는다.
여러가지 템플릿 라이브러리를 많이 이용한다. - JSP를 쓰지 않는다면 배포할때 war 파일로 배포할 필요가 없어서 jar 파일로 배포해도 상관없다.
- 다음으로 넘어가서
- 버전 및 라이브러리 선택
→ Web
>> Spring Web
→ Developer Tool
>> Lombok
→ SQL
>> Spring Data JPA : 엔티티 클래스 만들어서 어노테이션 쓰면 알아서 테이블도 만들어지고 테이블의 행삽입, 삭제, 변경, 검색할 수 있도록 SQL 명령을 우리가 만들지 않아도 알아서 해준다.(간단한 SQL 명령을 알아서 만들어서 처리해준다)
(장점 : DBMS 프로그램을 뭘 이용해도 상관없다. 오라클, mysql, 등 아무거나 상관없다)
(단점 : 복잡한 SQL 명령은 만들지 못한다.)
>> Oracle Driver
→ Templates Engine(뷰를 만들어주는거라고 생각하면 됨)
>>Thymeleaf
라이브러리 | 선택 |
Web | Spring Web |
Developer Tool | Lombok |
SQL | Spring Data JPA Oracle Driver |
Templates Engine | Thymeleaf |
- H2 Database : 부트에서 자체적으로 제공해주는 것. (서버를 운영할수는 없음)
- 처음 프로젝트 만들면 에러떨어지는데
- 프로젝트 우클릭 >> 프로퍼티스 >> 자바 빌드 패스 >> JRE System Library 더블클릭 >> Workspace dafault JRE(jdk-17) 클릭
(STS가 3점대 버전이라 기본적으로 JDK가 11버전으로 되어있기 때문에 Unbound 되어있다. 이걸 17버전으로 바꿔주는거다) - 참고로 이렇게 바꾸면 전에 진행했던 Spring 프로젝트가 에러가 나는데 어쩔수없다.
- 부트는 내장 톰캣이 있어서 그동안 서버에서 썼던 Tomcat v9.0 at localhost가 없어도 된다.
- 여기 메인메소드 실행하면 알아서 내장된 톰캣을 실행시킨다.
- 그런데 주의사항은 우리가 설치한 아파치 톰캣이 실행중이라면 내장 톰캣 실행이 안되기 때문에 아파치 톰캣이 실행되어 있으면 안된다.
- 그런데 이거 처음 실행하면 에러떨어진다.
→ 얘가 실행될때 오라클 드라이버를 먼저 읽어들인다. 그래서 에러 떨어지는 이유는 오라클 드라이버를 쓰겠다고 처음 스타터 프로젝트 만들때 라이브러리 설정 해놓고 그에 대한 정보를 제공하지 않아서 그렇다.
그래서 데이터베이스 세팅을 해야한다.
build.gradle (pom.xml과 같은 역할이다)
- dependencies 부분에 implementation으로 라이브러리 추가하면 된다.
- 부트의 경우 스타터 라이브러리 쓰면 버전을 신경쓸 필요가 없다.
- 그런데 위와 같이 만약 어떤 라이브러리를 빌드처리 해도 자동 빌드가 안되는데, 그건 아래와같이 windwo > preference에서 Gradle 클릭하여 우측 Automatic Project Synchronization 체크해주면 된다.
- 이거 체크하면 Gradle에 라이브러리 빌드처리 하면 프로그램 실행시 자동으로 빌드처리 된다.
application.properties ⇒ 환경설정 파일
- 내장 톰캣이 실행될때 application.properties의 정보를 제공받아 실행된다.
- 앞으로는 xyz.itwill.boot 인 상위 패키지 안에 하위 패키지를 만들어줘야 한다. 왜냐하면 어노테이션을 읽어서 스프링 빈으로 등록할 수 있는게 내부적으로 xyz.itwill.boot 밖에 등록이 안되어있기 때문이다
- http://www.thymeleaf.org
→ thymeleaf 쓰는 방법
- 크롬 확장프로그램 : 서버에서 바뀐게 있다면 자동리로드 되는 확장프로그램
반응형
'지식공유 > Spring Boot' 카테고리의 다른 글
스프링 부트(Spring Boot)에서 파일 생성시 web(html, jsp 등) 관련 파일 항목이 없을때 해결방법 (2) | 2024.11.13 |
---|---|
맥북 스프링 부트 세팅 - STS4(Spring Boot/Spring/백엔드개발/Java/자바/Backend) (4) | 2024.11.09 |
댓글