Spring Framework: 317개의 글
의존관계 주입 1. 참조 Bean 주입하기 (1) 소스상에서 보는 bean 참조를 주입하는 모습1) beans.xml Spring Hello, out.txt 2) MessageBeanImpl.javaimport java.io.IOException;public class MessageBeanImpl implements MessageBean { private String name; private String greeting; private Outputter outputter; public MessageBeanImpl(String name) { this.name = name; } public void setGreeting(String greeting) { this.greeting = greeting; } pu..
스프링/스프링부트 애노테이션(Annotation) 정리 스프링 부트와 스프링에서 사용하는 애노테이션에 대한 내용을 간략하게 정리하고 자세하게 알아볼 때는 키워드를 가지고 공부할 수 있도록 유도하는 포스트.해당 애노테이션을 사용할 때 필요한 라이브러리나 설정 방법은 따로 기술하지 않고 애노테이션 정보만 빠르게 볼 수 있도록 정리하였다.@ComponentScan- @Component와 @Service, @Repository, @Controller, @Configuration이 붙은 클래스 Bean들을 찾아서 Context에 bean등록을 해주는 AnnotationApplicationContext.xml에 이런식으로 xml에 bean을 직접등록하는 방법도 있고 위와 같이 애노테이션을 붙여서 하는 방법도 있음b..
response.sendRedirect() 서버가 사용자의 브라우저를 지정한 URL 로 리다이렉트 시킬 수 있는 유용한 도구이다.Spring 에서는 Controller에서 반환 String에 "redirect:" 라는 prefix를 붙여주면 동일한 기능을 수행하게 되어서 Spring에서는 잘 사용하지 않고 있다.그러나 interceptor와 같은 곳에서 redirect 시키도록 하기 위해서는 response.sendRedirect()를 반드시 사용해야한다.response.sendRedirect() 의 문제점response.sendRedirect() 를 사용하면서 주의해야할 점은 저 메서드를 호출한다고 break가 걸리는게 아니라는것이다.다시 설명하자면 throw new Exception() 을 호출하게되..
해당 포스팅에서는 Spring Interceptor에 관하여 알아보고 적용을 하는 포스팅이다.실제 프로젝트 적용 및 예제는 다음 포스팅에서 할 예정이다. 1. Java 인터셉터 구현 - 인터셉터로 사용할 클래스를 하나 만들어준다. - 형태는 아래와 같다. import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; public class ExamInterceptor extends HandlerInterceptorAdapter {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handle) throws Exc..
스프링시큐리티에서 중복로그인 제한은 사실 간단하게 처리할 수 있다. security-context.xml 위 코드처럼 간단히 max-sessions="1" 속성으로 동접을 제한할 수 있다. 하지만, WAS서버가 단일구성이 아니라면 WEB서버 설정에 따라 다른 서버로 세션이 붙게 되면 동접이 가능해지게 된다. 다른전략으로 접근을 해야했다. 로그인은 AuthenticationSuccessHandler 핸들러를 등록하여 사용자가 로그인을 성공할 시 DB에 사용자로그인 상태를 INSERT하였고 로그아웃은 ApplicationListener의 구현체를 등록하여 사용자의 세션종료 브로드캐스팅을 캐치하여 사용자로그인정보를 DELETE하였다. security-context.xml... ... CustomAuthenti..
트랜잭션 격리 레벨 (Isolation Level) 격리 레벨 (Isolation Level)상세 설명TransactionDefinition. ISOLATION_DEFAULT -1 : 개별적인 PlatformTransactionManager를 위한 디폴트 격리 레벨TransactionDefinition. ISOLATION_READ_UNCOMMITTED 1 : 격리 레벨 중 가장 낮은 격리 레벨이다. 이 격리 레벨은 다른 Commit 되지 않은 트랜잭션에 의해 변경된 데이터를 볼 수 있기 때문에 거의 트랜잭션의 기능을 수행하지 않는다.TransactionDefinition. ISOLATION_READ_COMMITTED 2 : 대 개의 데이터베이스에서의 디폴트로 지원하는 격리 레벨이다. 이 격리 레벨은 다른..
Isolation level : 트랜잭션에서 일관성이 없는 데이터를 허용하도록 하는 수준Ø ANSI에서 작성된 SQL-92 표준은 4가지 Transaction Isolation Level 정의ü Read Uncommittedü Read Committedü Repeatable Readü SerializableØ Isolation level 조정은 동시성이 증가되는데 반해 데이터 무결성에 문제가 발생할 수 있고, 데이터의 무결성을 유지하는 데 반해 동시성이 떨어질 수 있다.Ø 레벨이 높아질수록 비용이 높아짐. A. Read Uncommited Isolation Level (레벨 0)- SELECT 문장을 수행하는 경우 해당 데이터에 shared lock이 걸리지 않는 레벨.- 트랜잭션에 처리중인 혹은 아직 ..