본문 바로가기

Programming/>> Spring18

[Spring] Spring Transaction 설정 DB를 다룰려면 트랜잭션이 매우 중요하다. 개념적으로는 중요성을 이해하고 있지만 실제 업무에서 트랜잭션을 관리해본적이 없다... 그래서 Transaction 설정방법과 propagation에 대해서만 작성함... 우선 context에 transactionManager빈을 추가한다. DataSourceTransactionManager는 Connection의 트랜잭션 API를 이용해서 트랜잭션을 관리해주는 트랜잭션 매니저이고 JDBC API를 이용하여 트랜잭션을 관리하는 데이터 액세스 기술인 JDBC와 Mybatis에 적용가능하다. 1. Annotation을 이용한 트랜잭션 context에 요 한줄을 추가한다. @Transactional public interface MemberService { public.. 2016. 3. 2.
[Spring] log4sql SQL로그 확인하기 mybatis를 사용하면서 SQL에서 파라미터 에러가 나는데 도저히 원인을 찾을 수가 없었다. 예전에 모기업에 파견나갔을때 보니까 SQL의?로 표시된 파라미터 값에 실제 매핑된 값을 표기해주는 로그를 봤었는데 그게 생각나서 찾아봤으나 동일한 것은 찾질 못함...그리고 SQL로그 표시해주는 라이브러를 여러개 확인해봤는데 log4sql이 제일 확실했다. 다만 maven엔 없는듯 1.http://log4sql.sourceforge.net/index_kr.html일단 위의 사이트에 들어가서 log4sql.jar, log4sql_conf.jsp를 다운받는다. 2.프로젝트 내에 다음과 같이 파일들을 위치시킨다. log4sql_conf.jsp는 WEB-INF 아래에 위치시켜야한다. log4sql.jar의 위치는 어차.. 2016. 3. 2.
[Spring] Could not write JSON: Object is null HTTP Status 500 - Could not write JSON: Object is null (through reference chain: net.sf.json.JSONObject["rows"]->net.sf.json.JSONArray[0]->net.sf.json.JSONObject["uploadfile"]->net.sf.json.JSONNull["empty"]); nested exception is org.codehaus.jackson.map.JsonMappingException: Object is null (through reference chain: net.sf.json.JSONObject["rows"]->net.sf.json.JSONArray[0]->net.sf.json.JSONObject[.. 2016. 2. 26.
[Spring] Spring Mybatis 설정 2 mybatis mapper의 자세한 설정에 대해서는 아무래도 어중간한 설명을 쓰는 것보다는 공식 문서를 읽는게 좋은 것 같다. 거기다 한글이니 읽는데는 무리가 없을 듯. 대신 Spring validator를 해보면서 만든 화면을 가지고 테스트를 해보았다. validator는 여기를 참고한다. 1. Sign up 화면을 불러올 때, 관심분야는 DB에서 불러온다. 2. Submit을 눌렀을 때, 유효성 검사를 하는데, 아이디 중복여부도 함께 체크한다. 3. DB에 사용자 정보를 추가한다. 의 순서로 진행된다. 1. 조건없는 Select Mybatis를 쓰는 가장 큰 이유는 Java bean과의 매핑이 유용하기 때문이다. 별다른 설정을 하지 않아도 hashmap형태로 받을 수 있고 VO나 자체적으로 resul.. 2016. 2. 23.
[Spring] Spring Mybatis 설정 1 Spring 프로젝트를 하이버네이트로 하려고 했었는데 자료도 그다지 없고... 의지박약으로 지지부진해서 일단 Mybatis라도 잘하자라는 마음에 노선을 변경...ㅠ Mybatis와 DB 연결방식은 대략 다음과 같다. Database Connection Pool(DBCP) : JDBC를 통하여 DB에 연결할 경우, 매번 드라이버를 로드하고 Connection 객체를 가져와야하는데 매우 비효율적이다. 이를 해소하기 위해 웹 컨테이너가 실행되면서 DB와 연결된 Connection 객체를 미리 Pool에 생성해두고 필요할 때에 가져다쓰고 반환한다. DB의 부하를 줄이고 유동적으로 연결을 관리할 수 있다. SessionFactory : 단일 데이터 저장소, 안정적인 스레드를 위한 목적으로 사용된다. Session.. 2016. 2. 17.
[Spring] Spring Validator validator, validate는 입력받은 값이 유효한지를 검사하는 것이다. 주로 회원가입 입력 폼 같은 곳에서 지정된 문자열의 길이나 정규표현식이 일치하는지 확인하는 데에 쓰인다. 이 화면은 github의 회원가입 화면인데, 자바스크립트와 ajax를 이용해서 validate를 진행한다.순수하게 자바스크립트를 이용해서 validate를 구현할 수 있지만 Spring에서 지원하니 써보기도 해야되고 무엇보다.. 회사에서 서비스사 유지보수 작업할 때 자바스크립트로만 validate를 했다가 스팸봇한테 개털린 기억이 있어서 가능하면 서버단에서 진행하는게 안전하다고 생각한다. context.xml에 추가할 bean은 없지만, Validator 인터페이스를 구현한다. 구현에 앞서 message.propertie.. 2015. 12. 2.