개념 창고/Spring

    [Spring] MyBatis의 Query 수정 후 WAS서버 재시작없이 반영하기

    Spring과 mybatis 환경에서 MyBais를 사용할때 쿼리를 바꾸고 적용시키기위해서는서버를 재기동해야 적용되는 것이 번거로울 때가 있다.하지만 RefreshableSqlSessionFactoryBean 를 사용하면서버를 재시작하지않고 수정된 쿼리를 적용할 수 있다.이를 사용시 xml mapper 파일들의 수정으로 인한재기동이 없기에 재기동시 발생할 수 있는 오류와번거로움이 줄어들어 더 편하게 개발할 수 있다. 아래는 설정 및 적용시 필요한 코드다.1. RefreshableSqlSessionFactoryBean.java 생성import java.io.IOException;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Meth..

    Junit Test

    @Test는 해당 메소드가 단위 테스트임을 명시하는 어노테이션이다. JUnit은 테스트 패키지 하위의 @Test 어노테이션이 붙은 메소드를 단위 테스트로 인식하여 실행시킨다. 이 상태로 실행하면 테스트 이름이 함수 이름이 default로 지정되는데, @DisplayName 어노테이션을 사용하여 읽기 좋은 다른 이름을 부여할 수 있다. junit이 클래스를 가져와서 컨테이너에 있는 빈들에 의존성을 주입해준다.

    Spring 컨테이너에 빈을 등록하는 3가지 방법

    컨테이너에 빈 등록 3가지 방법이 있는데 기본값인 싱글톤으로 등록해준다. 1. only xml :id로 선언한 수만큼 등록되며, 자바 변수나 생성자 등으로 등록한다. property를 사용한다. 2. xml + annotation : Xml에 Component를 @Component 로 달아준다. // controller , service, epository도 같은 이치다. 3. only annotation : xml 빼고 @Configuration을 달아준다. 최신 프로젝트는 3번을 하지만, 예전 프로젝트들에선 1번으로 진행했다.