본문 바로가기

Spring Framework13

DAO 패턴은 왜 그렇게 생겼나? spring을 공부하면서 DB에 접근할때 왜 이러한 패턴을 생겼는지 궁금했다. 어쩌다가 이렇게 구성이 되었는지 알아보자. 내용은 토비의 스프링 3.1를 참고했습니다. #1 . 초기 JDBC로 접근 public class UserDao { public void add(User user) throws ClassNotFoundException, SQLException { Class.forName("com.mysql. jdbc.Driver"); Connection c = DriverManager.getConnection("jdbc:mysql://localhost/springbook" , "spring" , "book"); PreparedStatement ps =c.prepareStatement("insert i.. 2020. 3. 29.
Spring 트랜잭션 처리 @Transactional 데이터베이스 트랜잭션은 데이터베이스에서 상호작용의 단위 또는 데이터베이스 관리시스템이라 할 수 있다. 연관된 2개 이상의 쿼리를 실행할 때 , 모든 작업이 끝났을 때 COMMIT을 수행하고 중간에 오류가 발생하면 ROLLBACK하는 것이 기본이다. 트랜잭션을 JAVA에서 처리 Connection conn = null try { conn = DriverManager.getConnection(jdbcUrl, user, pw); conn.setAutoCommit(false); /* ...쿼리 실행.. */ conn.commit(); } catch (SQLException e) { if(conn!=null) { try { conn.rollback(); } catch (SQLException e1) { } } }.. 2020. 3. 7.
Spring Bean Scope ? 스프링은 기본적으로 모든 bean을 singleton으로 생성하여 관리한다. - 구체적으로는 애플리케이션 구동 시 JVM안에서 스프링이 bean마다 하나의 객체 생성 의미 - 그래소 우리는 스프링을 통해서 bean을 제공받으면 언제나 주입받은 bean은 동일한 객체하는 가정하에서 개발을 해야 한다. request , session , global session 의 scope는 일반 spring 애플리케이션이 아닌, spring MVC 에서만 사용 1. Singleton -싱글톤 bean은 Spring 컨테이너에서 한번 생성된다. 컨테이너가 사라질때 bean도 제거 -생성된 하나의 인스턴스는 single bean cache에 저장되고, 해당 bean에 대한 요청과 참조가 있으면 캐시된 객체 반환 즉, 하나.. 2020. 3. 6.
CSRF 는 무엇인가? 보안에서 굉장히 중요한 역할을 하고 있다. 프로젝트를 배포할때 꼭 고려해야 하는 상황이다. 이러한 점을 고려하지 않고 배포하게 된다면 보안에 굉장히 문제가 될수있다~! 사이트 간 요청 위조 위키백과, 우리 모두의 백과사전. (Csrf에서 넘어옴) 둘러보기로 가기검색하러 가기 사이트 간 요청 위조(또는 크로스 사이트 요청 위조, 영어: Cross-site request forgery, CSRF, XSRF)는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다. 유명 경매 사이트인 옥션에서 발생한 개인정보 유출 사건에서 사용된 공격 방식 중 하나다. 사이트 간 스크립팅(XSS)을 이용한 공격이 사용자가.. 2020. 2. 12.