[Java] Ambiguous mapping found. Cannot map 'XXXController' bean method 스프링을 사용 할때, Ambiguous mapping found. Cannot map 'XXXController' 라는 에러메시지가 나타났따. 검색을 해보니 Controller에서 ReqeustMapping에 문제가 생긴거라고 한다. 여러 이유가 있겠지만, 나같은 경우에는 RequestMapping에 동일한 이름이 있었다. 그래서 중복되지 않게 이름을 바꿔줬더니 금방 해결 되었다. 오류 모음집 2021.08.03
[Java] Junit 실행순서 [Juni5의 실행순서] 출처 : https://www.softwaretestinghelp.com/junit-annotations-tutorial public class OrderServiceTest { MemberService memberService; OrderService orderService; @BeforeEach public void beforeEach() { AppConfig appConfig = new AppConfig(); memberService = appConfig.memberService(); orderService = appConfig.orderService(); Test Class를 잘 살펴보면 @BeforeEach 애너테이션이 붙은 beforeEach 메서드가 있다. 이는 Te.. JAVA 2021.07.28
[Java]Cannot create PoolableConnectionFactory 스프링에서 db에 접속하는 방법 1. JDBC만을 이용한 접속 이 경우에는 pom.xml를 이용하여 jdbc 작성을 위해 driver를 다운로드 2. Spring에서 datasource를 정의하고 이를 통한 접속 이 경우에 pom.xml과 root-context.xml이 사용 혹은 context-datasource 3. Mybatis를 이용한 접속 - 2번과 사용하는 파일은 똑같지만 sqlSessionFactory 라는 Mybatis 이용시 필요한 객체를 사용하여 db에 접속하는 방법 JAVA 2021.07.27
[Spring] 3장 템플릿 리소스 반환과 close() Connection이나 PreparedStatement에는 close()메소드가 있음. 이름 그대로 열린것을 닫는 역할인데 보통 리소스를 반환하는 의미로 이해하는것이 좋다. Connection과 PreparedStatement는 보통 풀(pool) 방식으로 운영. 미리 정해진 풀 안에 제한된 수의 리소스(Connection, Statement)를 만들어 두고 필요할 때 이를 할당하고, 반환하면 다시 풀에 넣는 방식으로 운영. 요청이 매우 많은 서버환경에서는 매번 새로운 리소스를 생성하는 대신 풀에 미리 만들어둔 리소스를 돌려가며 사용하는편이 훨씬 유리함. 대신 사용한 리소스는 빠르게 반환해야한다. 그렇지 않으면 풀에 있는 리소스가 고갈되고 결국 문제가 발생하게 된다. clos.. JAVA 2021.06.24
[Spring] 2장 테스트 단위 테스트(unit test) : 작은 단위의 코드에 대해 테스트를 수행한 것. 단위 테스트를 하는 이유? 개발자가 설계하고 만든 코드가 원래 의도한 대로 동작하는지 개발자 스스로 빨리 확인하기 위해서 getUserFailure() 테스트 코드에 나타난 기능 단계 내용 코드 조건 어떤 조건을 가지고 가져올 사용자 정보가 존재하지 않는 경우에 dao.deleteAll(); assertThat(dao.getCount(), is(0)); 행위 무엇을 할 때 존재하지 않는 id로 get()을 실행하면 get("unknown_id"); 결과 어떤 결과가 나온다 특별한 예외가 던져진다 @Test(expected = EmptyResultDataAccessException.class) 테스트 주도 개발(TDD, Te.. JAVA 2021.06.14
[Spring] 1장 오브젝트와 의존관계(4) [Spring] 1장 오브젝트와 의존관계(3) [Spring] 1장 오브젝트와 의존관계(2) [Spring] 1장 오브젝트와 의존관계(1) 스프링이란? 개발에 사용되는 애플리케이션 프레임워크. 개발을 빠르고 효율적으로 할 수 있도록 틀과 프로그래밍 모델, 기 itkjspo56.tistory.com public class UserDao{ private ConnectionMaker connectionMaker; public UserDao(ConnectionMaker connectionMaker){ this.connectionMaker = connectionMaker; } ... } DI컨테이너는 자신이 결정한 의존관계를 맺어줄 클래스의 오브젝트를 만들고 이 생성자의 파라미터로 오브젝트 레퍼런스를 전달. 바로.. JAVA 2021.06.10