본문 바로가기

SpringBoot

(2)
Spring boot 도커 hub에 올리고 로컬 DB(MySQL)와 연동하기(feat. github actions) Spring Boot(2.7.11)와 MySQL(8.0.32) 기반으로 애플리케이션을 만들기로 했다. 이 때 github actions를 활용해 CI/CD(CD까진 아니고 deploy를 하기 위한 환경을 준비했다고 해두자) 이 때 다음과 같은 요구사항을 만족하고자 했다. 전제 조건: github에 올린 소스를 clone 받아서 로컬 MySQL 서버와 연동하는 것이 아니라 docker hub에 업로드 한 app image를 pull 받아서 로컬에 이미 설치해 둔 MySQL과 연동한다. 이는 배포한 docker image를 다른 개발자들이 pull 받아서 로컬 MySQL 서버와 연동해 테스트하기 위함이다. 1. spring app은 docker image로 만들어 docker hub에 push 한다. 2. ..
[Java] Dynamic Proxy란? n개의 클래스에 대해 n개의 프록시 클래스를 만들어주어야 할까? 부가적인 기능을 추상화하여 공통 코드로 만들어야 한다. 서로 다른 클래스의 Proxy 클래스 구현을 추상화해야 한다. 마치며 이전 글 Proxy란?에서 Proxy를 만들어 구현 코드를 수정하지 않고 부가적인 기능을 추가시켰다. 부가적인 기능을 추가시키고 싶은 클래스의 Proxy 클래스를 직접 만들어 클라이언트가 proxy 클래스를 호출하도록 했다. 이 때 이런 문제가 있었다. 'n개의 클래스에 대해 n개의 프록시 클래스를 만들어주어야 할까?' 이 문제를 해결하기 위해 문제를 추상화해보자. 1. 부가적인 기능을 추상화하여 공통 코드로 만들어야 한다. (단순 Proxy 클래스 구현에서는 모든 Proxy 기능에 부가 기능 코드를 구현해야 했다) ..