금일 수업에서는 Spring에 대해서 진도를 나갔다.
Spring을 사용하기 위해서는 VScode에서 먼저 Spring Boot Extension Pack
을 설치해주어야 한다.
그다음, Ctrl
+ Shift
+ P
키를 눌러 명령 팔레트 창을 실행 시키고,
Spring Initializr: Ctreate a Maven Project
를 선택한다.
버전은 2.7.12를 선택해준다. 이는 기존에 Java11버전으로 사용을 해왔기때문이다.
위와같이 패키지명, 프로젝트명을 입력해준다.
실제 배포용인지, 개발용인지 선택하는 부분으로, 우리는 실제 배포용으로 Spring을 사용하는것이 아니기때문에 Jar
를 선택해준다.
이후 기존에 사용했던 자바버전 11을 선택해주고,
이후 pom.xml에 추가해줄 dependency들을 선택해준다.
(Lombok, thymeleaf, webserver, springboot devtools 등)
pom.xml을 확인해보면 방금 선택했던 dependency들을 확인할 수 있다.
위로써 기본 spring 환경을 사용하기까지 셋팅이 완료가 되었다.
이번에는 기존에 HttpServlet을 Spring에서 어떤 식으로 사용하는지에 대해서 설명을 적도록 하겠다.
기존과 같은 경우에는 HttpServlet에서 사용하고자 하는 Controller로 상속을 통해서 그 기능들을 수행해왔다. 하지만, Spring에서는 좀 더 간단한 방법으로 controller의 기능들을 구현할 수 있겠다.
먼저 위와 같은 경로에 Controller, Mapper, Service를 관리할 수 있도록 하위 폴더들을 생성해주도록 하자.
Spring에서는 @Controller
어노테이션을 통해서 기존에 HttpServlet을 상속하는 것과 동일하게 사용할 수 있다.
그 후 사용하고자 하는 주소, 그리고 기능에 맞도록 사진과 같이 코드를 구성해줄 수 있다.
각각의 코드들은 주석과 동일한 기능을 수행한다는것을 보여준다.
이후 home.html
을 만들어 직접 연결해보도록 하겠다.
Spring 환경을 셋팅해주는 단계에서 패키지명을 직접 정했다.
설정했던 프로젝트명의 폴더에 있는 java파일을 연 뒤,
@ComponentScan(basePackages={"(아까설정한 패키지명).controller"})
위의 어노테이션을 추가하여 컨트롤러의 위치를 설정한다.
그다음,
Run 버튼을 눌러 서버를 실행 시킨 뒤, home.html의 주소를 chrome을 통해 실행시키면
사진과 같이 잘 적용됨을 확인할 수 있다.
추가적으로 실행하기 전 환경을 설정해줄 수 있도록
application.properties
를 통해 포트번호, context주소 등을 지정해주어야 한다.(띄워쓰기나 공백은 입력되지 않도록 주의!)
Controller에서 html로 데이터를 보내는것또한 가능하다.
th:
명령어를 이용하여 받아오고자 하는 데이터들의 name값을 지정해주면
그에 해당하는 value값들이 표시되는것을 확인할 수 있다.
기존에는 절대경로에 ${pageContext.request.contextPath}이동하고자 하는 주소
와 같이 지정해주었지만,
간단하게 @{/이동하고자 하는 주소}
를 추가하면 알아서 페이지를 찾아가게 된다.