Backend18 [Spring boot] 다중 데이터베이스 연결 회사에서 문서 작업을 하며 mybatis에서 다중 데이터베이스 연결을 시도했다. 전 프로젝트를 진행하면서 JPA를 이용해서도 연결을 했었는데 그건 나중에 포스팅 하도록 하겠다. 1. 프로젝트 구조 config 폴더는 모든 설정을 관리하는 폴더입니다. 'OneDataSourcrConfig'는 첫번째 데이터베이스 연결에 관한 설정이고, 'TwoDataSourceConfig'는 두번째 데이터베이스입니다. 각각 데이터베이스에 대한 Controller, Service, DAO, Domain은 폴더를 만들어 관리합니다. 간단하게 'test1', 'test2'로 설정했습니다. 가장 중요한 점은 Config 폴더의 위치입니다. Config에는 Domain, Mapper.xml 폴더 경로를 입력하는 코드가 있기 때문에 .. 2020. 3. 14. [Spring boot] Mockito 1. Mock Object(모의 객체) Mockito를 알아보기 전 Mock에 대해서 알아야 할 필요가 있습니다! Mock이란 가짜 객체를 의미합니다. 예를들어, 첨부파일을 업로드하고 삭제하는 기능을 테스트 한다고 가정하였을 때 html 화면까지 구성하고 데이터베이스에 연결하여 첨부파일을 넣고 삭제하고... 무언가 이상하면 코드를 수정하고 Spring이 실행될 때 까지 기다렸다가 화면에서 업로드하고 삭제를 반복해야하는 번거로움을 가지게 됩니다. 만일 테스트 코드를 작성하며 Mock 객체를 이용하게 된다면 화면 구성도 필요 없이 테스트 메소드 안에서 File이라는 객체를 가상으로 만들어 주어 테스트 코드에서 객체에 내용을 담아주고 테스트를 시행 할 수 있게 됩니다. (이해가 가시나요ㅎㅎ..) 2. Mock.. 2020. 3. 8. [Spring boot] Junit 1. Junit 테스팅 프레임워크입니다. 외부 의존 없이 오로지 자바 코드만으로 테스트 가능하게 합니다. 2. Junit 사용이유 데이터베이스 연동, Controller, Service, Dao를 전부 구성하고 main() 함수에서 테스트를 시도 할 경우 에러가 발생했을 때 이 에러가 어디서 난 에러인지 확인을 하기가 어렵습니다. 하나하나 디버깅을 통해 확인을 하게 된다면 많은 시간을 소요하게 됩니다. 불필요한 낭비를 줄이고 에러가 어디에서 발생하는지 간단하게 확인 하기 위해서 사용하는 것이 'Junit' 입니다. 또한, 이러한 단위테스트를 이용할 경우 Spring 프레임워크를 이용할 때는 Spring이 실행되기까지 기다리지 않아도 되기 때문에 생산성이 올라간다는 장점 또한 가집니다. * 단위테스트(xU.. 2020. 3. 8. [Spring boot] DBCP(DataBase Connection Pool) 1. DBCP란? DBCP는 DataBase Connnection Pool의 약자로 데이터베이스와 연결된 커넥션을 미리 만들어 풀(Pool) 속에 저장해 두고 필요할 때에 꺼내어 쓰는 것을 말한다. 또한 동시 접속자 수가 가질 수 있는 커넥션을 하나로 모아놓고 관리한다. 2. DBCP를 사용하는 이유 예를 들어, 한 사용자가 유명 게시판에서 자신이 작성한 글 내용을 수정한다고 한다. 내용을 수정하기 위해 자신이 작성한 글을 확인하고 수정을 하게 될 텐데 만일 순수 JDBC만을 이용하게 된다면 몇번의 데이터베이스와의 연결이 이루어지게 된다. 이 유명 게시판을 이용하는 사용자가 수천명이라고 가정했을 때 동시에 엄청난 연결이 일어나게 되는데 그렇게 된다면 터지게 될 위험이 크다. 이러한 문제를 해결하고자 나온.. 2020. 3. 8. 이전 1 2 3 4 5 다음