Java Spring/MVC17 Mockito 적용하여 Controller test 해보기 Testing 시에 Layer간의 연결을 끊고 Layer 별 기능을 독립적으로 테스트할 수 있도록 도와주는 도구가 바로 Mockito 입니다.🍸 왜 layer별로 독립적인 테스트가 필요할까요? 특정 계층의 테스트만 필요한데 불필요한 전 계층을 다 거치게 되면서 성능이 떨어지거나 테스트 관심 영역 면에서 벗어나는 것을 방지하기 위해서 입니다. 처음 사용해보려니 생소한데, 어떤 요소들을 생각하면서 사용하면 좀 더 쉽게 사용할 수 있는지 깨달았던 부분들을 글로 남겨두려고 합니다. Mockito 사용법 1. 테스트하려는 Controller와 유사한 구조를 갖는 test class를 test directory에 생성합니다. : 유사한 구조라함은 Controller에서 의존하는 객체, 정의된 메서드(로직은 제외)를.. 2022. 7. 18. Entity mapping-Cascade의 역할 Cascade의 역할을 제대로 알지 못해 힘들었던 며칠 🥲 눙물이 납니다.. 그래도 덕분에 Entity mapping에 대해서도 좀 더 잘 알게되고 Entity와 Dto 간 mapping도 여러번 수정해 보며 어떻게 하는 것인지 좀 더 알게된 시간이었습니다. 먼저 Cascading이 언제 필요한 것인지 보면, Cascading은 두 entity의 존재가 서로에게 의존적일 때 필요합니다. 예를 들어서, Member-Address라는 관계가 있다고 했을 때 Address는 Member가 있어야만 그 의미를 갖게 됩니다. (Member 정보는 없는데 주소만 있다면 누구의 주소를 의미하는지 그 쓰임이 무색해질테니까요) 그렇기 때문에 Member 정보를 삭제할 때 그와 관계된 Address 정보도 같이 삭제되어야.. 2022. 7. 17. [Spring] Spring JDBC 사용하기 Spring JDBC를 사용하기 위해서는 먼저 jdbc dependency를 추가해주어야 됩니다. org.springframework.boot spring-boot-starter-data-jdbc 그리고 JdbcTemplate class의 객체를 이용하여 jdbc를 사용하면 됩니다. Dao처럼 repository 역할을 하는 class에 주입하여 사용하게 되는데, 아래 코드를 참고하시면 됩니다. @Repository public class PersonJdbcDao { @Autowired JdbcTemplate jdbcTemplate; //... } 이 jdbcTemplate는 CRUD 기능을 하는 method들이 정의되어 있고, 그 method와 sql query문을 사용해서 CRUD를 구현하게 되는 것.. 2022. 7. 2. [Spring] H2 in-memory DB 사용하기 H2 database는 Java 언어로 되어 있는 관계형 데이터베이스 관리 시스템입니다. in-memory database이며 용량이 가벼운 편이기에 애플리케이션 테스트에 많이 사용되고 있다고 합니다. H2 DB 사용 시작하기 H2를 사용하려면 spring dependency에 h2 dependency를 추가하여야 합니다. Spring project를 만들 때 초기 dependency 설정 시에 미리 추가해주면 됩니다. Maven을 사용하는 경우는 아래와 같이 dependency가 설정되어 있을 것입니다. com.h2database h2 runtime 그리고 application.properties에 아래 항목을 추가해줍니다. spring.datasource.url=jdbc:h2:mem:testdb;NO.. 2022. 6. 28. [Spring] Servlet과 Servlet Container Spring을 학습하다 보니 모르는 용어, 어려운 용어들이 아주 넘쳐나고 있습니다 ㅎㅎ 하나하나 차근차근 이해해나가는 것이 목표입니다! 정말 많이 듣지만 잘 와닿지 않았던 servlet, servlet container, Tomcat 등 한 번 간단하게 정리해보았습니다. Web server 먼저, Servlet을 이해하려면 Web server에 대한 이해가 선행되어야 합니다. 웹 서버는 HTTP 또는 HTTPS를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램 입니다. (출처: 위키백과) 다만, 정적인 페이지만을 client에게 줄 수 있습니다. Servlet과 Servlet container Web server만으로는 user input에 따라 바뀌.. 2022. 6. 24. [Spring] Spring MVC framework 알아보기 Spring은 여러 모듈을 제공하는데, 그 중에 Web 계층을 담당하는 몇가지 모듈이 있습니다. 그 중에 Servlet을 기반으로 client의 요청을 처리하는 module이 있는데, 그것이 바로 Spring MVC (spring-webmvc) 입니다. (Spring Web MVC = Spring MVC = Spring MVC Framework 셋다 모두 같은 말입니다.) Servlet이란? Servlet은 client의 request를 받고 response를 전달해주는 역할을 하는 Java class를 의미합니다. 정의: A servlet is a Java programming language class that is used to extend the capabilities of servers that.. 2022. 6. 24. 이전 1 2 3 다음 반응형