[Spring] Spring MVC 주요 어노테이션
·
개발/Spring
Spring MVC 주요 어노테이션  1. 컨트롤러 및 요청 매핑 (Controller & Request Mapping)@Controller역할: 해당 클래스를 Spring MVC의 컨트롤러로 지정. 이 어노테이션이 붙은 클래스는 클라이언트의 요청을 처리하고 응답을 생성하는 역할.사용법: 클래스 레벨에 사용.예시:Java @Controllerpublic class MyController { // ...} @RequestMapping역할: 요청 URL과 컨트롤러 메서드를 매핑.사용법: 클래스 레벨 또는 메서드 레벨에 사용.value (또는 path): URL 패턴을 지정.method: HTTP 메서드 (GET, POST, PUT, DELETE 등)를 지정. (기본값은 모든 메서드)params: 요청 ..
[Spring] SpEL
·
개발/Spring
Spring Expression Language (SpEL) SpEL은 Spring 프레임워크에서 제공하는 강력한 표현식 언어. 런타임에 객체 그래프를 조회하고 조작하는 기능을 제공. XML 설정 파일, 어노테이션, Java 코드 등 다양한 곳에서 사용할 수 있다.주요 기능객체 그래프 탐색: 객체의 속성, 메서드 호출, 배열/리스트/맵 요소 접근 등을 지원.연산: 산술 연산, 관계 연산, 논리 연산, 정규식 매칭 등을 수행.메서드 호출: 객체의 메서드를 호출하고 결과를 반환받을 수 있다.생성자 호출: 새로운 객체를 생성할 수 있다.변수 및 함수 정의: 표현식 내에서 변수를 정의하고 사용하거나, 사용자 정의 함수를 등록하여 호출할 수 있다.컬렉션 처리: 컬렉션(리스트, 맵 등)에 대한 프로젝션, 선택, 필..
[Spring] xml 설정 파일 예시
·
개발/Spring
web.xml (Deployment Descriptor): 웹 애플리케이션의 기본적인 설정. DispatcherServlet 등록, 필터 설정, 리스너 설정 등을 포함.Spring Application Context XML 파일: Spring 컨테이너의 설정. 빈(Bean) 정의, 의존성 주입(DI), AOP 설정 등을 포함. DispatcherServlet은 자신만의 Application Context를 가질 수 있음1. web.xml (DispatcherServlet 등록)XML  My Spring MVC Application dispatcher org.springframework.web.servlet.DispatcherServlet contextConfigLocati..
java.time
·
개발/Java
java.time 패키지 (Java 8 Date and Time API)java.time 패키지는 Java 8에서 새롭게 도입된 날짜와 시간 API. 기존의 java.util.Date와 java.util.Calendar 클래스의 문제점(가변성, 부족한 기능, 일관성 없는 API, 타임존 처리의 어려움 등)을 해결하고, 더 직관적이고 강력하며 스레드 안전한(thread-safe) 날짜/시간 기능을 제공.java.time 패키지의 주요 특징:불변성 (Immutability): java.time 패키지의 모든 클래스는 불변(immutable). 즉, 객체의 상태를 변경할 수 없다. 날짜/시간을 변경하는 모든 작업은 새로운 객체를 반환. 이 덕분에 멀티스레드 환경에서 안전하게 사용할 수 있고, 예기치 않은 버그..
java.util.Calendar
·
카테고리 없음
java.util.Calendar는 java.util.Date의 문제점(가변성, 부족한 기능, 불편한 API 등)을 개선하기 위해 Java 1.1부터 도입된 추상 클래스.Calendar는 특정 시점의 날짜와 시간을 표현하고, 날짜/시간 필드(년, 월, 일, 시, 분, 초 등)를 조작하고, 날짜/시간 계산을 수행하는 기능을 제공.java.util.Calendar의 특징:추상 클래스 (Abstract Class): Calendar는 추상 클래스이므로 직접 인스턴스를 생성할 수 없다. 대신 Calendar.getInstance() 팩토리 메서드를 사용하여 특정 로케일과 타임존에 맞는 Calendar의 하위 클래스(예: GregorianCalendar)의 인스턴스를 얻어야 한다.가변성 (Mutable): jav..
java.util.Date
·
개발/Java
java.util.Date는 Java 초기부터 제공된 날짜와 시간을 표현하는 클래스.하지만 여러 문제점과 부족한 기능으로 인해 Java 8부터는 java.time 패키지의 클래스들(LocalDate, LocalDateTime, ZonedDateTime 등)을 사용하는 것이 권장됨. java.util.Date의 특징:날짜와 시간 표현: java.util.Date는 특정 시점의 날짜와 시간을 나타낸다. 내부적으로는 1970년 1월 1일 00:00:00 GMT(그리니치 표준시)부터 경과한 밀리초(milliseconds)를 long 값으로 저장한다.가변성 (Mutable): java.util.Date 객체는 가변(mutable). 즉, setDate(), setMonth(), setYear() 등의 메서드를 사..
[Spring] 날짜 파라미터 처리하기
·
개발/Spring
1. String으로 받아서 직접 파싱 (가장 기본적인 방법):클라이언트로부터 날짜를 String 형태로 받는다 (예: "2023-10-27").java.time.LocalDate, java.time.LocalDateTime, java.util.Date, java.text.SimpleDateFormat 등을 사용하여 직접 파싱.Java @GetMapping("/date")public String processDate(@RequestParam("date") String dateString, Model model) { try { // java.time.LocalDate 사용 (Java 8 이상) LocalDate date = LocalDate.parse(dateString, D..
[Spring] Spring MVC 요청의 흐름
·
개발/Spring
Spring MVC는 Model, View, Controller 패턴을 기반으로 하는 웹 프레임워크로, 사용자 요청 처리부터 응답 생성까지 일련의 흐름을 가지고 있다. 기본적인 흐름은 다음과 같다.1. DispatcherServlet (Front Controller) 요청 수신:클라이언트의 모든 요청은 DispatcherServlet (Front Controller)이 가장 먼저 받는다.DispatcherServlet은 web.xml (또는 Java Config)에 설정되어 있으며, 특정 URL 패턴 (예: /)에 매핑된다.2. HandlerMapping에 요청 위임:DispatcherServlet은 HandlerMapping에게 요청을 처리할 적절한 Controller를 찾아달라고 요청.HandlerM..