본문 바로가기

스프링6

[Spring]@InitBinder란? | @InitBinder란? " Spring Validator를 사용 시 @Valid 어노테이션으로 검증이 필요한 객체를 가져오기 전에 수행할 method를 지정해주는 어노테이션이다." 기존에 @Valid OR @Validated 애노테이션으로 데이터 검증을 위해 Validator interface를 구현한 class를 만들고 validate() 메소드를 직접 호출해 사용했는데, 이번에는 @InitBinder 어노테이션으로 직접 호출하지 않고 스프링 프레임 워크에서 호출하는 방법에 대해서 알아보겠습니다. Ex 01) StrudentController에서 활용 @Controller pulbic calss StudentController { @RequestMapping("/studentForm") publi.. 2020. 10. 10.
[springSecurity]스프링 시큐리티 @EnableWebSecurity -@Configration 클래스에 @EnableWebSecurity 어노테이션을 추가하여 SpringSecurity 설정할 클래스라고 정의한다. 설정은 WebSecurityConfigurer인스 클래스를 상속받아메서드를 구현하는 것이 일반적인 방법이다. WebSecurityConfigureer 클래스 -WebSecurityConfigurer 인스턴스를 편리하게 생성하기 위한 클래스이다. passwordEncoder() - BCryptPasswordEncoder는 SpringSecurity에서 제공하는 비밀번호 암호화 객체이다. Service에서 비밀번호를 암호화할 수 있도록 Bean으로 등록한다. configure()메서드를 오버라이딩하여 Secuity 서렁을 잡아준다.. 2020. 8. 8.
커맨드 객체란? 지난번에 @RequestParam으로 값을 많이 바인딩 시키면 코드가 지저분해지는 경우가 있을텐데 이번에는 커맨드객체를 활용하여 코드 가독성을 조금 더 높여보도록한다 ! 웹 프로젝트 개발 시 "인쇄하기"라는 기능이 있어서 다른 view.jsp 에서 값을 컨트롤러를 타야 하는 경우가 있었는데 이럴때 model에 값을 엄청 많이 binding 시켜줬던 기억이있다. 이제는 Command 객체를 활용하여 이러한 경우를 대비해 볼 것이다. ! 회사에서 작성했던 코드 @GetMapping("/print") public void testMethod(@Request Param . . . (수만은 RequestParam이 적히고) ){ model.addattrubute("사용할 data들 ", ... ); model.a.. 2020. 7. 25.
@RequestParam과 @PathVariable? 컨트롤라에서 Requestparam으로 파라미터 값을 넘겨받을 때 아무 생각 없이 사용하곤 했는데, 이번 기회에 이 어노테이션에 대해 정리해 보고자 한다. 스프링에서는 컨트롤러로 사용할 클래스 상단에 @Controller를 지정합니다. 주로 사용하는 형태의 파라메터를 전달하는 경우입니다. Case 1 ) http://xxx.x.x?index=1&page=2 Case 2 ) http://xxxx.x.x/index/1 Case 1의 경우 파라미터의 값과 이름을 함께 전달하는 방식으로 게시판 등에서 페이지 및 검색 정보를 함께 전달하는 방식을 사용할 때 많이 사용합니다. Case 2의 경우 Rest api에서 값을 호출할 때 주로 많이 사용합니다. Spring에서는 이러한 전달인자를 처리하는데 두 가지 방법을.. 2020. 7. 25.
[Spring] ApplicationEventPublisher란? 1.ApplicationEvnetPublisher 란? ->디자인 패턴 중 하나인 Observer Pattern과 유사한 기능을 합니다. 다시 말해 Spring Framework를 통해 손쉽게 Observer Pattern을 구현하는 것입니다. 2.언제 사용하나요? (관련 글 - https://www.javacodegeeks.com/2012/08/observer-pattern-with-spring-events.html) Observer Pattern을 사용할 때를 떠올리면 됩니다. 이벤트를 발생하는 Publisher와 이를 구독하는 Observer(or Subscriber)사이의 결합도를 낮추면서도 이벤트를 Observer에게 전달을 하고싶을 때 사용하게 됩니다. 3.구조 3.1ApplicationEve.. 2020. 1. 13.
[Spring] Environment 프로파일이란? IoC 컨테이너의 Environment에 대해서 알아보겠습니다. Environment는 ApplicationContext가 가지고있는 기능중 하나로 Application에 등록되어있는 여러 환경들을 제어하고 이용할 수 있도록 도와주는 기능입니다. *ApplicationContext - IoC 컨테이너가 갖추어야 할 기능들을 정의하고 있는 인터페이스로 다른 추가적인 기능들을 상속받고 있습니다 그 중 하나가 바로 EnvironmentCapable입니다. Environment의 기능 1. Profile Profile이란 환경에 따라 필요한 Bean들이 달라질 수 있는데 이것을 쉽게 관리할 수 있도록 도와주는 기능입니다. 예를 들어 Test 환경에서 사용할 Bean들과 Develop중 사용할 Bean들 그리고 .. 2020. 1. 13.