목록스프링 (3)
공부하는 스누피
커맨드 객체 값 검증 커맨드 객체란? HTTP 통신으로 들어오는 값을 자동으로 바인딩하는 객체. 검증 처리란? 폼 값 검증과 에러 메세지 처리를 포함하는 검증 과정이다. 스프링은 커맨드 객체를 검증하는 Validator 인터페이스와 에러 메세지를 출력하는 Errors, ValidationUtils 클래스를 제공한다. 필요한 모듈 (pom.xml) javax.validation validation-api 1.1.0.Final org.hibernate hibernate-validator 5.4.2.Final javax.validation validation-api 1.1.0.Final 검증 처리 방법 1. 글로벌 범위 Validator 모든 컨트롤러에 적용할 수 있는 Validator이다. 구현 방법 MVC..
AOP(Aspect Oriented Programming) AOP는 여러 객체에 적용되는 공통 기능을 분리하는 프로그래밍 기법으로, 재사용성을 높여준다. OOP는 실제 세계의 사물을 모듈화(객체화)하는 것이지만, AOP는 부가적인 기능을 모듈화하는데 집중한다. ex) A 클래스와 B 클래스 둘 다 print라는 동일한 기능을 사용해야 할 때, print를 따로 분리한다. A 또는 B 객체를 사용하게 되면 Proxy가 자동으로 print 기능을 실행시켜준다. 스프링에서는 Proxy를 이용해 AOP를 구현한다. 자동으로 Proxy 객체를 만들어 주기 때문에 직접 Proxy 인터페이스를 구현하지 않아도 된다. Bean 객체가 인터페이스를 상속하면 별도 설정이 없는 이상 인터페이스를 이용해서 Proxy를 생성한..
1. 의존 주입 Dependency Injection 한 클래스가 다른 클래스의 메소드를 실행할 때 이를 '의존'한다고 표현한다. 의존 관계는 변경에 의해 영향을 받는 관계로, B 클래스가 A 클래스의 메소드를 실행할 때 A 클래스에 변경이 이루어지면 B 클래스에 영향이 가게 된다. 여기서 B 클래스의 메소드를 실행하는 C 클래스가 있다면, 이 변경은 C 클래스까지 전파된다. 의존 관계를 구현하기 가장 쉬운 방법은 B 클래스에서 A 클래스 객체를 직접 생성하는 방법이다. DI(Dependency Injection)는 의존하는 객체를 직접 생성하지 않고 의존 객체를 전달받는 방식을 사용한다. 즉, DI란 의존하는 객체를 전달받아서 사용하는 패턴이다. DI는 의존 객체 변경이 유연하다는 것이 큰 장점인데, ..