스프링

Test

[Test] Persistence Layer Test와 테스트에 대한 고찰

단순히 Persistence Layer를 테스트하는 방법만을 서술하는 것이 아닌, 영속 계층을 테스트해야 하는 이유에 대해 정리하고 어떤 방식으로 테스트하는 것이 더 좋은 방법인지 고민한 내용을 정리해보려 합니다.  1. Persistence Layer (혹은 Repository Layer)Persistence Layer의 테스트를 하기 전에 Layered Architecture와 테스트의 분류에 대해 먼저 숙지해두면 각 레이어 별 테스트가 어떤 것을 목적으로 하는지 파악할 수 있고, 그 목적에 맞는 테스트를 만들 수 있다.1-1. Layered ArchitectureLayered Architecture에서 각 계층의 역할은 아래와 같다.Presentation Layer: 사용자의 요청과 ..

Spring/Spring

[Spring] Controller와 어노테이션

1. Controller의 종류 Controller 어노테이션은 @Component를 구체화하여 만든 어노테이션으로 해당 클래스를 IoC컨테이너에 Bean으로 등록해주며 Controller로 사용된다는 것을 알려준다. 그 종류에는 View를 리턴하는 @Controller 와 Json 데이터를 리턴하는 @RestController 가 있다. 사용 예시는 아래와 같다. - @Controller @Controller public class MyController { .... } - @RestController @RestController public class MyController { .... } 2. 컨트롤러와 함께 사용되는 Mapping 어노테이션(HTTP 요청) @RequestMapping 특정 URI..

Spring/Spring Boot

[Spring Boot] HTTP Message Converter

1. Message Converter란? Message Converter란 말그대로 메시지를 가공해주는 도구를 말한다. 전 세계의 공용어가 영어인 것처럼, Web에서의 공용어는 JSON(JavaScript Object Notation)이다. 자바 오브젝트를 파이썬 오브젝트를 사용하는 곳에 보낸다고 생각해보자. 만약 그냥 자바 언어로 보낸다면 파이썬 프로그램은 해당 언어를 전혀 이해하지 못할 것이다. 반대로 파이썬 측에서 파이썬 언어로 오브젝트를 전송한다면 자바 프로그램도 이해하지 못하는 건 똑같다. 그렇기 때문에 서로 통신할 때는 JSON 오브젝트를 사용해야한다. JSON은 자바스크립트 기반이지만, 통신의 공용어로 사용된다. 각각 프로그램에서 오브젝트를 JSON 데이터로 변경하거나 JSON 데이터를 해당..

JAVA/오류해결

[Spring Boot][오류해결] Modifying queries can only use void or int/Integer as return type

Resolved [org.springframework.dao.InvalidDataAccessApiUsageException: Modifying queries can only use void or int/Integer as return type! Offending method: public abstract com.example com.example.repository.myRepository.mySave(int,int,java.lang.String); nested exception is java.lang.IllegalArgumentException: Modifying queries can only use void or int/Integer as return type! Offending method: publ..

Spring/Spring Boot

[Spring Boot] 스프링 부트 Bash Shell로 실행하기

Bash Shell을 이용하면 스프링 부트 프로젝트를 IDE를 사용하지 않고 실행할 수 있다. 백엔드 개발을 하다보면 shell script를 사용할 일이 많아지기때문에 알아두면 좋을 것이다. Bash Shell을 이용해 프로젝트를 실행하는 방법으로는 2가지가 있다. 첫 번째 방법은 jar 파일을 생성해 실행하는 것이고, 두 번째 방법은 메이븐 플러그인을 사용해 실행하는 것이다. 두 번째 방법이 jar파일을 이용하는 것보다 쉬운 편이다. **주의사항** Maven Wrapper를 사용하려면 mvnw, mvnw.cmd 파일이 필요 org.springframework.boot spring-boot-maven-plugin pom.xml에 메이븐 플러그인이 존재해야함 스프링부트 이니셜라이져에서 프로젝트를 생성하..

Spring/Spring

[Spring] 스프링 MVC 사용을 위한 의존관계 추가

스프링 MVC 애플리케이션을 사용하려면 환경설정을 미리 해놓아야한다. 2가지 방법을 나누어 살펴보도록 하자. 첫 번째는 메이븐 프로젝트 두 번째는 일반 동적 웹 프로젝트를 활용할 때의 예시이다. 동적 웹 프로젝트를 활용하면 일일이 라이브러리를 추가해줘야 하기때문에 대부분 메이븐을 사용할 거라고 생각한다. 1. 메이븐 프로젝트 메이븐 프로젝트를 활용할 때의 웹 애플리케이션을 설정하는 순서는 총 3단계로 나누어볼 수 있다. ① pom.xml 에 스프링 MVC의 의존관계를 추가 ② DispatcherServlet을 web.xml에 추가 ③ servlet.xml 파일로 스프링 애플리케이션 컨텍스트 생성 - pom.xml에 추가 org.springframework spring-webmvc 5.3.13 버전은 매번..

gakko
'스프링' 태그의 글 목록