본문 바로가기

Java/Spring11

[Spring] Spring MVC Interceptor 1. Spring MVC Interceptor란?- 핸들러(Handler) 호출 시점에 따라 요청을 처리하는 필터(로그인, 권한 등에 사용) 2. Spring MVC Hanler 동작 이해하기- HandlerMapping의 목적은 URL핸들러 메소드와 URL을 연결시키는데에 있다. 즉, DispatcherServlet은 처리를 반환할 때 해당 메소드를 잘생시킬 수 있어야 합니다.- DispatcherServlet은 메소드를 발생시키기 위해 HandlerAdapter를 사용한다. 한마디로 인터셉터는 반환을 가로채서 처리하며 로그나 권한 체크와 같은 반복적인 핸들러 코드를 피하는 것에 도움을 줍니다. 3. Maven Dependencies- 인터셉터를 사용하기 위해선 pom.xml에 spring-web 의존.. 2024. 6. 24.
스케줄링 사용법, 크론(cron) 표현식 @Scheduled java Spring 환경에서 @Scheduled 어노테이션을 사용하여 메소드의 실행 시간/주기를 설정할 수 있다. 설정 표현식으로 cron, fixedDealy, fixedRate 등을 사용할 수 있다. (Spring 3.1 이상부터 지원) Cron 표현식 @Scheduled(cron = "* 30 12 * * *") 좌측부터 "초 분 시 일 월 년"을 나타내며 위의 식은 매 12시 30분을 의미한다. 순서 필드 값 1 seconds(초) 0 ~ 59, -, *, / 2 minutes(분) 0 ~ 59, -, *, / 3 hours(시) 0 ~ 23, -, *, / 4 day of month(일) 1 ~ 31, -, *, /, ?, L, W 5 month(월) 1 ~ 12, -, *.. 2022. 6. 21.
Spring Legacy Project part 3. (Controller의 Parameter 전달) HomeController에 파라미터를 넘기기 위한 메서드 들을 작성해보겠습니다. String @GetMapping("/name") public void getName(String name) { log.info(name); } http://localhost:8000/myapp01/name?name=kim URL 창에 다음과 같이 '?' 뒤에 변수명과 값을 넣어줍니다. 그리고 콘솔 창을 확인해보면 'kim'이라고 잘 넘어온 것을 확인할 수 있습니다. Integer @GetMapping("/age") public void getAge(int age) { log.info(age); } http://localhost:8000/myapp01/age?age=26 Integer도 마찬가지입니다. Arrays @Get.. 2021. 2. 28.
Log4j error (org.apache.log4j.Logger cannot be resolved to a type) pom.xml의 Log4j 부분의 Runtime을 주석처리하거나 없애면 정상적으로 동작된다. 2021. 2. 27.
Spring Legacy Project part 2. (JUnit Test) 스프링 프레임워크가 시작되면 스프링이 사용하는 메모리 영역을 만들게 되고 이것을 컨텍스트(Context)라고 합니다. 스프링은 자신이 객체를 생성하고 관리해야 하는 객체들에 대한 설정을 root-context.xml파일에서 합니다. root-context.xml에 설정되어 있는 태그의 내용을 통해서 org.zerock.ample 패키지를 스캔합니다. 해당 패키지에 있는 클래스들 중 스프링이 사용하는 @Component 라는 어노테이션이 존재하는 클래스의 인스턴스를 생성합니다. Test 해당 위치에서 진행합니다. 테스트를 진행할 패키지와 파일을 생성합니다. package org.zerock.sample; import static org.junit.Assert.assertNotNull; import org... 2021. 2. 26.
Spring Legacy Project part 1. (Lombok, DI) 스프링 프로젝트를 진행하기 앞서 스프링의 주요 특징을 알아봅시다. 스프링의 주요 특징 POJO(Plain Old Java Object) 기반의 구성 - 자바의 언어 사양 외에 어떠한 제한에 묶이지 않은 자바 오브젝트 - 기술적으로 어렵기 때문에 미리 정의된 어노테이션을 보통 사용 의존성 주입(DI)을 통한 객체 간의 관계 구성 - 하나의 객체가 다른 객체의 의존성을 제공하는 기술 - 밖에서 생성하여 넣어주는 것 AOP(Aspect Oriented-Programming) 지원 - 로깅이나 인증 시스템과 같은 횡단 관심사와 분리하여 모듈성을 증가시키는 프로그래밍 패러다임 MVC(Model-View-Controller) 구조 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴 Lombok getter/sett.. 2021. 2. 24.