[스프링부트] 하나의 인터페이스로 여러 구현체 선택 방법
·
Java
@ SpringBoot@ JDK 21 의존성 역전에서 인터페이스의 구현체가 여러 개인 경우가 종종 발생합니다. 예를 들어, DBMS로 MySQL과 PostgreSQL을 동시에 사용하는 상황에서 구현체를 선택하고 구별하여 로직을 처리하는 방법을 고민할 필요가 있습니다.아래에서 대표적인 접근 방법들을 정리했습니다. 1. 비권장 방식: instanceof 및 명시적 타입 변환if (orderWriter instanceof MySqlOrderAdapter mysql) { mysql.saveMySqlWay(...);}단점Open-Closed Principle(OCP) 위반인터페이스를 사용한 추상화가 무의미해짐확장 시 if 조건문이 늘어나 유지보수 어려움2. 권장 방식: 스프링 DI + Qualifier, P..
[스프링부트] This application has no explicit mapping for /error, so you are seeing this as a fallback.
·
Java
1. 문제발생스프링부트 실행 시, 브라우저에서 아래와 같이 표시되는 경우가 있다.Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.There was an unexpected error (type=Not Found, status=404)404 에러 페이지가 없다는 뜻이다.2. 문제원인"localhost:8080"으로 연결 시 기본값인 index.html이 없어서 발생지정한 경로에 파일이 없는 경우지정했으나 경로가 안 잡히는 경우 3. 문제해결localhost:8080의 기본 루트로 접근하는 법src > main > resources > static에 index..