웹 개발/Spring Framework
-
[Mybatis]mybatis에서 테이블의 언더바 컬럼을 카멜형식으로 변환해주는 설정웹 개발/Spring Framework 2018. 11. 20. 12:26
underscoreToCamel Mybatis에서 테이블의 언더바 컬럼을 카멜형식으로 변환해주는 설정 있을 것 같은데 알지는 못했던 설정이다. 보통 테이블의 컬럼은 언더바 형식(city_name)으로 되어있고, 개발을 할 때는 카멜형식(cityName)으로 만든다. 그래서 왠지 언더바를 카멜로 바꿔주는 설정이 있지 않을까 했는데, 선임님이 찾아주셨다! 물론 Mybatis 문서를 꼼꼼히 읽어봤다면 알겠지만, 보통 하나하나 다 읽어보진 않으니까 몰랐었다. 나만 그런가… Mybatis 공식 문서를 보면 이렇게 적혀있다. 설정 설명 값 디폴트 mapUnderscoreToCamelCase 전통적인 데이터베이스 칼럼명 형태인 A_COLUMN을 CamelCase형태의 자바 프로퍼티명 형태인 aColumn으로 자동으로..
-
[Spring] @PostConstruct란?(정의와 장점)웹 개발/Spring Framework 2018. 11. 12. 17:31
1. @PostConstruct란? @PostConstruct는 의존성 주입이 이루어진 후 초기화를 수행하는 메서드이다. @PostConstruct가 붙은 메서드는 클래스가 service(로직을 탈 때? 로 생각 됨)를 수행하기 전에 발생한다. 이 메서드는 다른 리소스에서 호출되지 않는다해도 수행된다. 출처: Oracle Doc 2. 왜 사용하는가(장점)? 1) 생성자(일반)가 호출 되었을 때, 빈(bean)은 아직 초기화 되지 않았다. (예를 들어, 주입된 의존성이 없음)하지만, @PostConstruct를 사용하면, 빈(bean)이 초기화 됨과 동시에 의존성을 확인할 수 있다. + 개인 의견으로 클래스 내에 @Autowired를 붙여서 객체를 사용할 때, 생성자가 필요하다면 @PostConstruct..
-
@Transactional(선언적 트랜잭션) bean Id 지정해서 사용하기웹 개발/Spring Framework 2018. 6. 28. 14:53
스프링에서 일반적으로 선언적 트랜잭션을 사용하기 위해서는 dataSource가 있는 xml 위치에서 123 cs 을 선언해서 사용한다. 하지만, 복수개의 트랜잭션을 사용하기 싶어하는 분들도 있을 것이고, 나처럼 기존 소스를 안 건드리기 위해 특정 부분에서만 트랜잭션을 걸어주고 싶을 수 있다. 에러가 발생해야 내가 무엇을 몰랐는지 알게 되는 것 같다.(에러의 긍정적인 부분이라 생각함) 123 cs dataSource가 있는 xml에서 위와 같이 선언하고 JUnit을 돌려보았더니 위와 같은 에러가 발생했다. 이게 무엇인지 구글링을 해보니 tx:anntation-driven은 default 값으로 transactinManager로 선언된 DataSourceTransactionManager를 찾는 것을 알았다...
-
이클립스(Eclipse) 설정 내보내기/가져오기 방법웹 개발/Spring Framework 2018. 6. 27. 15:40
개발하는 프로젝트들을 한 워크스페이스에 몽땅 관리하는 것보다 필요한 부분만 각각 분리시키기 위해 새로운 워크스페이스를 만들고 설정만 내보내고 가져오는 법이 있었다. 1. 내보내기 (1) file -> export -> General -> Preferences 클릭 (2) Export all 체크박스 체크 -> 저장할 디렉토리 경로 설정 2. 가져오기 (1) file -> import -> General -> Preferences 클릭 (2) 내보냈던 파일 가져오기 -> finish 기존에 진행하던 프로젝트들의 설정을 새로만든 워크스페이스에서 그대로 적용할 수 있다. (단, 아파치 톰캣 서버쪽 설정은 다시 해주어야한다.)
-
JUnit에서 Controller 테스트 코드 작성하기(정리)웹 개발/Spring Framework 2018. 6. 18. 13:46
많은 부분을 참조한 출처: http://thswave.github.io/java/2015/03/02/spring-mvc-test.html 맨 먼저 환경설정. JUnit을 위한 기본적인 환경설정이 돼있다는 전제 하에 Mock 디펜던시가 필요하다. 아래 소스를 추가. 123456 org.mockito mockito-all 1.10.19 testcs 컨트롤러 테스트는 서비스와 잘 연결됐는지 확인만 해주면 되기 때문에 데이터를 받아오는 것까진 굳이 확인해줄 필요없다.(하는 부분까지 데이터를 받는 게 되지도 않았지만..) 비즈니스 로직은 Service와 DAO에서 확인하면 될 것이다. 먼저, 전체소스부터 보여주고 차례로 정리해보겠다. 12345678910111213141516171819202122232425262..
-
JUnit에서 세션 생성을 어떻게 해야할까?(JUnit에서 session 처리)웹 개발/Spring Framework 2018. 5. 23. 14:14
스택오버플로 해당 url을 참고했다. https://stackoverflow.com/questions/27102878/how-to-create-session-in-spring-junit 회사 프로젝트에서 로그인 정보(VO로 관리)는 session으로 관리하고 있다. JUnit 테스트 중 DAO에서 세션정보를 바로 조회해서 쿼리를 날리는 부분이 있었다. 유닛 테스트를 돌리면서 세션을 만들어주고 주입하는 방법을 찾아야했다. Mock을 활용하면 가능했다! 기쁨의 환호 123456789101112131415161718192021222324252627282930313233private LoginVO loginVO;protected MockHttpSession session;protected MockHttpServ..
-
[Spring] log4j 설정하기(공유)웹 개발/Spring Framework 2018. 5. 8. 16:22
몇년 전 글이지만, 보기쉽게 설명돼있어서 공유~!(영어로 돼있지만, 코드나 소스를 보면 몰라도 할 수 있을 것 같아요) log4j를 스프링에서 설정하는데 이 포스팅에서 도움을 많이 받았슴다 사이트는 이쪽으로 :) JUnit에 필요한 디펜던시들.(버전: 2018-07-05 기준) 1234567891011121314151617181920212223242526272829303132333435 junit junit 4.8.1 org.slf4j slf4j-log4j12 1.7.7 org.slf4j slf4j-api 1.7.7 org.slf4j jcl-over-slf4j 1.7.7 org.lazyluke log4jdbc-remix 0.2.7 org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-..