클라이언트의 content type과 controller의 parameter나 response type이 안맞으면 404, 415, 400, 500 등 오류가 난다. 이런 오류는 잡기 어려우므로, 관련 지식을 다시한번 정리해보자. VO parameter에 VO가 온다. 아무 어노테이션이 붙지 않아도 jackson이 getter setter를 이용하여 VO에 값을 매핑해준다. 반면, 아무 어노테이션 없이 HashMap으로 받으려고 하면 오류가난다. VO와 다르게 getter setter가 없기 때문이다. @RequestBody body에 있는 내용을 꺼내준다. 클라이언트의 Contet-Type 에 알맞은 HttpMessageConverter가 선택되어 java객체로 변환시켜준다. body에 데이터를 넣는 ..
SpringBoot에서 DB를 연결하고 데이터를 가져오는 방법을 알아보자. SpringBoot에서 DB에 연결하려면 아래가 필요하다. JDBC driver DB connector MyBatis spring boot의 dependency를 찾는 일은 어렵다. 워낙 방대해서 그냥 블로그나, 강의에서 하라는 대로 따라하되, dependency를 추가할때는 maven repository에서 직접 가져다 추가하는게 가장 좋은 방법인 것 같다. SpringBoot에 MySql연결하기 SpringBoot MySql로 검색하거나, SpringBoot에서 직접 돌아다니며 DB연결 예제를 찾을 수 있다. https://spring.io/guides/gs/accessing-data-mysql/ Accessing data w..
spring-boot-devtools를 쓰는 이유 spring boot에서는 static소스를(js, html, css) resources아래에서 관리하기때문에 static소스가 바뀌면 매번 서버를 껐다 켜야 한다. spring-boot-devtools는 이런 문제를 해결해준다. dependency추가 build.gradle에 dependency를 추가한다. dependencies { developmentOnly 'org.springframework.boot:spring-boot-devtools' } gradle을 업데이트한다. IntelliJ Setting File > Setting > Advanced Settings에 들어가서 Allow auto-make to start even if develope..
2022.03.07 - [Springboot] - [SpringBoot] IntelliJ Community에서 Spring Boot 프로젝트 만들기 [SpringBoot] IntelliJ Community에서 Spring Boot 프로젝트 만들기 Spring Initializr에 들어가서 Spring Boot 프로젝트를 쉽게 만들 수 있다. https://start.spring.io/ 이 사이트에 들어가서 적절한 옵션을 선택해준다. Group은 보통 회사이름 거꾸로, Artifact는 프로젝트명을.. wouldyou.tistory.com 이전 포스팅에서 SpringBoot 프로젝트를 생성해봤다. 이번 포스팅에서는 우리가 Dependencies로 선택했던 Spring Web을 가져오면, 어떤 것들이 깔리는..
뷰쪽 템플릿을 뭘 쑬까 고민하다가 thymeleaf를 써보기로 했다. Spring에서 많이 쓰던 jsp는 SpringBoot에서는 잘 안쓴다. 공식 문서에도 나와있다. https://docs.spring.io/spring-boot/docs/current/reference/html/web.html#web.servlet.spring-mvc.template-engines Spring initializr에서 dependency에 thymeleaf를 추가해주면 프로젝트 생성할 때부터 추가되어 있다. 그냥 build.gradle에 dependency를 추가해도 된다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymele..
Package Manager 지금까지는 javascript라이브러리를 github에서 찾아서 직접 파일을 다운로드 한 후 프로젝트에 넣어줬다. 하지만 npm이 있으면 이런 작업이 필요없다. 그냥 npm install 패키지명을 치면 라이브러리가 다운로드된다. 이렇게 패키지를 관리해주는 툴을 Package Manager라고 한다. java진영에서 쓰는 maven같은 거라고 생각하면 된다. 최근에는 npm과 yarn을 주로 쓴다. 둘다 비슷하지만 yarn이 모든 프로젝트에서 똑같은 버전이 깔릴것을 보장하기 때문에 보안 측면에서 좋다고 한다. 하지만 npm이 점유율이 높다. 우리는 npm을 설치해보자 Node.js다운로드 npm을 따로 다운로드 할 수 있지만, 복잡하다. 그냥 node.js를 다운로드받으면, ..
Spring Initializr에 들어가서 Spring Boot 프로젝트를 쉽게 만들 수 있다. https://start.spring.io/ 이 사이트에 들어가서 적절한 옵션을 선택해준다. Group은 보통 회사이름 거꾸로, Artifact는 프로젝트명을 뜻한다. Generate를 누르면 zip파일이 다운로드된다. zip을 풀어보자 다음과 같이 build.gradle 이 있다. 오른쪽 마우스를 눌러 IntelliJ로 연다. 프로젝트가 생성되었다! src> main> java> ... > 에 ~~Application.java가 있을 것이다. 실행시키면(class옆 초록 삼각형을 누르거나 ctrl+shift+f10) spring이 시작되면서 서버를 실행시킬 수 있다. spring에는 톰캣이 내장되어있기 때문..