[Spring boot] Mockito
·
Backend/Spring
1. Mock Object(모의 객체) Mockito를 알아보기 전 Mock에 대해서 알아야 할 필요가 있습니다! Mock이란 가짜 객체를 의미합니다. 예를들어, 첨부파일을 업로드하고 삭제하는 기능을 테스트 한다고 가정하였을 때 html 화면까지 구성하고 데이터베이스에 연결하여 첨부파일을 넣고 삭제하고... 무언가 이상하면 코드를 수정하고 Spring이 실행될 때 까지 기다렸다가 화면에서 업로드하고 삭제를 반복해야하는 번거로움을 가지게 됩니다. 만일 테스트 코드를 작성하며 Mock 객체를 이용하게 된다면 화면 구성도 필요 없이 테스트 메소드 안에서 File이라는 객체를 가상으로 만들어 주어 테스트 코드에서 객체에 내용을 담아주고 테스트를 시행 할 수 있게 됩니다. (이해가 가시나요ㅎㅎ..) 2. Mock..
[Spring boot] Junit
·
Backend/Spring
1. Junit 테스팅 프레임워크입니다. 외부 의존 없이 오로지 자바 코드만으로 테스트 가능하게 합니다. 2. Junit 사용이유 데이터베이스 연동, Controller, Service, Dao를 전부 구성하고 main() 함수에서 테스트를 시도 할 경우 에러가 발생했을 때 이 에러가 어디서 난 에러인지 확인을 하기가 어렵습니다. 하나하나 디버깅을 통해 확인을 하게 된다면 많은 시간을 소요하게 됩니다. 불필요한 낭비를 줄이고 에러가 어디에서 발생하는지 간단하게 확인 하기 위해서 사용하는 것이 'Junit' 입니다. 또한, 이러한 단위테스트를 이용할 경우 Spring 프레임워크를 이용할 때는 Spring이 실행되기까지 기다리지 않아도 되기 때문에 생산성이 올라간다는 장점 또한 가집니다. * 단위테스트(xU..
[Spring boot] DBCP(DataBase Connection Pool)
·
Backend/Spring
1. DBCP란? DBCP는 DataBase Connnection Pool의 약자로 데이터베이스와 연결된 커넥션을 미리 만들어 풀(Pool) 속에 저장해 두고 필요할 때에 꺼내어 쓰는 것을 말한다. 또한 동시 접속자 수가 가질 수 있는 커넥션을 하나로 모아놓고 관리한다. 2. DBCP를 사용하는 이유 예를 들어, 한 사용자가 유명 게시판에서 자신이 작성한 글 내용을 수정한다고 한다. 내용을 수정하기 위해 자신이 작성한 글을 확인하고 수정을 하게 될 텐데 만일 순수 JDBC만을 이용하게 된다면 몇번의 데이터베이스와의 연결이 이루어지게 된다. 이 유명 게시판을 이용하는 사용자가 수천명이라고 가정했을 때 동시에 엄청난 연결이 일어나게 되는데 그렇게 된다면 터지게 될 위험이 크다. 이러한 문제를 해결하고자 나온..
[Spring boot] Spring boot와 MySQL 연동하기.
·
Backend/Spring
Spring boot에서 MySQL을 연동하는 방법을 포스팅하겠다. 신입 짜바리라 잘못된 방법일 수도 있으니 댓글을 부탁드립니다 ;_; (추후 계속 수정하면서 추가할 내용들은 추가하고 수정할 내용들은 수정할 예정.) 1. dependency 추가 mysql mysql-connector-java 5.1.47 org.springframework.boot spring-boot-starter-data-jpa 2.1.4.RELEASE 2. application.properties spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.jdbc-url=jdbc:mysql://localhost:3306/스키마이름?serverTimezon..