Spring(스프링)
-
마이바티스(MYBATIS) Connection 에러 발생경우!!Spring(스프링)/MyBatis 2015. 11. 18. 22:20
connection property 'autoReconnect=true' to avoid this problem. 에러 내용을 봐도 딱 느낌이 올것입니다. ㅎㅎ 우선 위와 같은 에러는 MySQL에 맺어있던 컨넥션이 장시간 사용되지 않아 끊어졌기 때문에 발생하는 것입니다. 해결방안은 xxx.xml (JDBC , DBCP) 설정파일을 여신 후 dbname 명 뒤에 ? utoReconnect=true 를 넣어주시기만 하면됩니다. 추가적으로 필수사항은 아니지만 를 사용하여 사용자 쿼리를 수행하기 전에 미리 걸러주는게 좋습니다 ㅎㅎ 대신 부하가 적은 쿼리를 사용하는 센스!!
-
마이바티스 트랜잭션 처리(참고 사이트)Spring(스프링)/MyBatis 2015. 11. 16. 18:51
http://barunmo.blogspot.kr/2013/06/mybatis.html
-
스프링 마이바티스 무작정 따라하기(1)Spring(스프링)/MyBatis 2015. 11. 6. 22:30
마이바티스와 무관하게 제 지식내에서의 스프링 생명주기를 PowerPoint로 만들어봤습니다 잘못된 사항이 있다면댓글로 지적해주시면 감사하겠습니다 ㅎㅎ 더 자세하게 파고들면 끝이 없기에 여기까지만 정리해봤어요. 자 이제 시작해봅시다!!! 마이바티스를 사용하기 위해서는 빈 설정을 해주어야 하는데요.우선은 마이바티스를 사용하기 위한 라이브러리를 dependency를 추가 합시다. 해당 객체를 이용하기 위해 라이브러리를 다운받아 빌드 하던 번거로움을 메이븐의 중앙 레파지토리를 통해 손쉽게 해결할 수 있어서 참 좋네요 하하하하 어랏 이상한데? 여기서 끝이 아닌데? 라고 생각하시는 분들 있는거 알아요 ㅎㅎ 더 필요한것들은 차근차근 추가하도록 하죠!! 자 다음으로는 web.xml 설정을 슬슬건들여 보도록하죠!! 저 ..
-
스프링 시큐리티 JDBC 를 이용한 로그인(1)Spring(스프링)/시큐리티 2015. 10. 4. 20:34
우선 예제를 시작하기 앞서 동작 원리 및 개념을 알고 진행을 합시다 ㅎㅎ DB 기반 인증의 동작 원리 UserDetails 란 회원의 정보(이름, 이메일 등) 주체의 프로필을 저장하는데 사용됩니다.위 사진에서 UserDetails를 반환 시켜주는 클래스 및 인터페이스로는 JdbcDaoImpl , UserDetailService가 있는데요 . JdbcDaoImpl 클래스가 UserDetailsService의 구현체를 제공하게 되어 UserDetailsService에서 UserDetails를 반환 시켜주게 됩니다. JdbcDaoImpl -> UserDetailsService -> UserDetails 라고 생각하시면 이해하시기 편할꺼라고 생각합니다 하하하하... 자 그럼 이제 예제를 보고 따라해보시기 바랍니..
-
스프링 시큐리티 - 로그아웃Spring(스프링)/시큐리티 2015. 9. 27. 23:26
로그아웃 동작 원리모든 URL 요청은 서블릿 요청으로 리졸브 되기 전에 항상 스프링 시큐리티의 전체 필터 체인을 통과 시킵니다. 따라서 j_spring_security_logout에 대한 URL 요청이 시스템에 있는 JSP 페이지와 일치하지 않더라도 이 요청을 처리하기 위해 실제 JSP 나 스프링 MVC 대상 URL을 두지 않아도 됩니다.j_spring_security_logout 에 대한 URL 요청은 logoutFilter가 가로챕니다. logout-url 어트리뷰트에 지정한 로그아웃 URL을 감시하고 사용자를 로그아웃 시키는데 이때 다음 과정은 3단계로 나뉘어 집니다.1. HTTP 세션 무효화(invalidate-session이 true로 설정된 경우)2. SecurityContext 초기화(사용자..
-
스프링 viewResolverSpring(스프링) 2015. 9. 25. 14:55
뷰 리졸빙(View resolving) 사용자에게 결과를 랜더링하여 보여주기 위하여 사용 뷰 리졸버 구현체 뷰 리졸버 설명 BeannameViewResolver 논리적 뷰 이름과 동일한 ID를 갖는 으로 등록된 View의 구현체를 찾는다. ContentNegotiatingViewResolver 요청되는 콘텐츠 형식에 기반을 두어 선택한 하나 이상의 다른 뷰 리졸버에 위임한다. FreeMarkerViewResolver FreeMarker 기반의 템플릿을 찾는다. 경로는 논리적 뷰 이름에 접두어와 접미어를 붙여 구성 InternalResourceViewResolver 웹 어플리케이션의 WAR 파일 내에 포함된 뷰 템플릿을 찾는다. 뷰 템플릿의 경로는 논리적 뷰 이름에 접두어와 접미어를 붙여 구성 Jasper..
-
스프링 @ResponseBody 어노테이션Spring(스프링) 2015. 9. 15. 17:35
@ResponseBody 이해하기 메소드에 @ResponseBody 로 어노테이션이 되어 있다면 메소드에서 리턴되는 값은 View 를 통해서 출력되지 않고 HTTP Response Body 에 직접 쓰여지게 됩니다. 이때 쓰여지기 전에 리턴되는 데이터 타입에 따라 MessageConverter 에서 변환이 이뤄진 후 쓰여지게 됩니다. MessageConverter 의 종류 - StringHttpMessageConverter - FormHttpMessageConverter - ByteArrayMessageConverter - MarshallingHttpMessageConverter - MappingJacksonHttpMessageConverter Jackson's ObjectMappter 를 사용하여 re..
-
스프링 DI(Dependency Injection) 개념 및 설정 방법!!Spring(스프링) 2015. 7. 5. 15:37
우선 DI를 알기 전에 Ioc 개념 부터 알고 넘어갑시다 IoC(Inversion of Control) 란? 자바가 등장하고 자바 기반으로 애플리케이션을 개발학 시작하던 최초의 시기에는 자바 객체를 생성하고 객체간의 의존관계를 연결시키는 등의 제어권을 개발자가 직접 가지고 있었다. 그러나 서블릿, EJB가 등장하면서 개발자들의 독점적으로 가지고 있던 제어권이서블릿과 EJB를 관리하는 컨테이너에게 넘어가 버렸다. 객체에 대한 제어권이 컨테이너에게 넘어가면서 객체의 생명주기를 관리하는 권한 또한 컨테이너들이 전담할 수 밖에 없게 되었다. 이처럼 객체의 생서에서부터 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀐것을 의미하는 것이 제어권의 역전, 즉 IoC라는 개념이다. 다음으로는 DI 가 무엇인지 알아 ..