Spring 5

[Spring] MVC : 날짜 값 변환, @PathVariable, 익셉션 처리

안녕하세요 개발자 문문입니다.오늘은 Spring MVC 날짜 값 변환, @PathVariable, 익셉션 처리에 대해 공부하겠습니다. @DateTimeFormat@DateTimeFormat(pattern = "yyyyMMddHH")private LocalDateTime from;- 만약 from에 "2025070815" 라는 값이 들어온다면, LocalDateTime으로 변환해줍니다. ("2025년 7월 8일 15시" 값을 갖는 LocalDateTime 객체) 변환 처리 과정1. 스프링 MVC는 요청 메서드와 DispatcherServlet 사이를 연결하는 RequestMappingHandlerAdapter 객체를 사용하는데, 이 객체는 요청 파라미터와 커맨드 객체 사이의 변환 처리를 위해 WebData..

Spring 개념정리 2025.07.08

[Spring] MVC : 세션, 인터셉터, 쿠키

안녕하세요 개발자 문문입니다.오늘은 Spring MVC의 세션, 인터셉터, 쿠키에 대해 공부해보겠습니다. 로그인 상태를 유지하는 방법으로는 크게 세션과 쿠키 두가지 방법이 있습니다.먼저 HttpSession을 사용하는 방법을 먼저 보겠습니다.HttpSession@PostMappingpublic String form(LoginCommand loginCommand, Errors errors, HttpSession session) {...@PostMappingpublic String submit(LoginCommand loginCommand, Errors errors, HttpSevletRequest req) { HttpSession session = req.getSession();... - HttpSessi..

Spring 개념정리 2025.07.07

[Spring] MVC : 메시지, 커맨드 객체 검증

안녕하세요 개발자 문문입니다.오늘은 Spring MVC의 메시지, 커맨드 객체 검증에 대해 공부하겠습니다. 태그- 만약 어느 사이트의 언어를 다국어 처리해야 한다고 가정했을때, 사이트에 적혀있는 모든 글자를 다국어 처리하는건 쉽지 않습니다. (페이지를 여러개 만들거나, 다국어 로직을 만들어야 함)- 위와 같은 상황이 왔을때 각 나라별 메시지를 미리 파일로 만들어 놓고 그 메시지를 불러오기만 한다면 한 페이지에서 간단하게 처리가 가능할 것 입니다.- 스프링에서는 아래와 같은 작업을 진행하면 이런 기능을 구현할 수 있습니다. 1. 문자열을 담은 메시지 파일 생성- src/main/resourece/message에 label.properties 생성member.register = 회원 가입term = 약관t..

Spring 개념정리 2025.07.07

[Spring] AOP(Aspect Oriented Programming)

안녕하세요 개발자 문문입니다.오늘은 AOP 공부를 해보겠습니다! AOP(Aspect Oriented Programming)란?- AOP는 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법을 의미합니다.- AOP는 핵심 기능에 공통 기능을 삽입하는 것 입니다- 스프링에서 제공하는 AOP 방식은 프록시 객체를 이용합니다. 프록시(Proxy) : 대리자, 클라이언트가 사용하려고 하는 실제 대상인 것처럼 위장해서 클라이언트의 요청을 받아주는 역할을 합니다. - 스프링 AOP는 프록시 객체를 자동으로 만들어 주기 때문에 직접 구현할 필요는 없습니다. AOP 주요 용어용어의미Advice언제 공통 관심 기능을 핵심 로직에 적용할지를 정의합니다. 예를 들어 "메서드 호..

Spring 개념정리 2025.07.01

[Spring] 빈 라이프사이클과 범위

안녕하세요 개발자 문문입니다.오늘은 빈 라이프사이클과 범위에 대해 공부하겠습니다. 컨테이너 초기화와 종료//컨테이너 초기화 AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(AppContext.class);//컨테이너에서 빈 객체를 구해서 사용Greeter g = ctx.getBean("greeter", Greeter.class);String msg = g.greet("스프링");System.out.println(msg); //컨테이너 종료ctx.close(); 아래는 컨테이너 초기화, 종료할 때의 작업입니다.- 컨테이너 초기화 : 빈 객체의 생성, 의존 주입, 초기화- 컨테이너 종료 : 빈 객체의 ..

Spring 개념정리 2025.06.30