본문 바로가기

BackEnd/Spring12

[Spring] Quartz 를 통한 스케줄링 등록 스프링의 Quartz 를 통해 간단히 스케줄러 작업을 등록해봤다.Quartz 트리거, 설정파일 부분을 기록하며,실제 업무에 사용되는 실행 로직은(Job) 원하는 기능을 클래스파일에 구현하면됨. (여기서는 Myjob.class로 나온다) 1. pom.xml에서 의존성 주입 org.quartz-scheduler quartz 2.3.0  2. Quartz 스케줄러 등록 : QuartzConfigTest.java스케줄러를 3가지 요소로 구성해보면 스케줄러, 실행내용인 Job, Job을 실행할 Trigger 이다.( 스케줄러를 빈으로 등록하고 트리거를 설정해 호출하며, 호출할 Job 클래스 파일을 생성하면 끝!)Spring의 @Configuration 클래스나 XML 설정에서 SchedulerFactoryBea.. 2024. 9. 3.
@Value 애너테이션이 property 값을 null로 받아오는경우 @Value 애너테이션이 property 값을 받아오지 못하는 경우는 여러가지가 있다.일단,1.문법도 프로퍼티명도 틀리지 않았고,2. 빈으로도 정상적으로 등록했을 경우 최종최종~ null 오류였던 코드를 메모했다.* Bean으로 등록되지 않은 경우란?클래스를 Bean으로 등록하지 않으면 Spring이 의존성 주입을 할 수 없다.나같은 경우, UploadSftp 클래스를 @Component 애너테이션으로 Bean 등록을 했기 때문에 문제가 없었다. 또한 FileUploadController.java 라는 다른 코드에서는 똑같은 문법으로 작성했을때 env.properties 파일에서 값을 잘 받아왔다. 그런데 새로 만든 UploadSftp.java 에서만 null 오류 발생. @Value("#{env['FL.. 2024. 8. 14.
[Spring] MVC HandlerInterceptor / Interceptor를 사용하여 HTTP 요청을 가로채는 방법 Spring Handler Interceptor Simply put, a Spring interceptor is a class that either extends the HandlerInterceptorAdapter class or implements the HandlerInterceptor interface. public class LoggerInterceptor implements HandlerInterceptor { ... } Spring Interceptor는 ①HandlerInterceptor 인터페이스를 구현 하거나, ②HandlerInterceptorAdapter 클래스를 상속 하는 클래스다. ①HandlerInterceptor 인터페이스를 구현 HandlerInterceptor 에는 3가지.. 2023. 6. 19.
[Spring] com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class 오류 해결 오류 com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class com.example.dto.ResponseCodeDto and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: java.util.HashMap["responseCodeDto"]) 해결 // 생략... responseMap.put("body", new Gson().toJson(responseCodeDto)); // return return r.. 2023. 2. 28.
MVC 패턴, Dispatcher-Servlet 정리 Model : 데이터, 비즈니스 로직을 처리하는 부분(DAO, DTO, Service 등) View : 비즈니스 로직 처리 결과가 유저에게 보여지는 부분, 즉 유저 인터페이스. (html, jsp 등) Controller : Model과 View 의 통신매체, 연결해주는 부분 각 구성요소가 고유한 기능을 담당할 수 있게 구분한 디자인 패턴이다. MVC 패턴은 단순히 Model, View, Controller 만 기술되어 있지만 사실 그전에 Dispatcher-Servlet, Handler Adapter, View Resolver 등 클라이언트의 요청에 응답하기 위해서 일하는 다양한 것들이 있다. 클라이언트의 요청을 디스패처 서블릿이 받음 요청 정보를 통해 요청을 위임할 컨트롤러를 찾음 요청을 컨트롤러로 .. 2023. 1. 5.
[SPRING] @RequestBody / @ResponseBody / Jackson2HttpMessageConverter 비동기통신을 하기위해서는 클라이언트에서 서버로 요청 메세지를 보낼 때, 본문(body)에 데이터를 담아서 보내야 하고, 서버에서 클라이언트로 응답을 보낼때에도 본문(body)에 데이터를 담아서 보내야 한다. 즉, 요청본문 requestBody, 응답본문 responseBody 을 담아서 보냄으로 비동기 통신하게 된다. @RequestBody 어노테이션과 @ResponseBody 어노테이션이 각각 HTTP요청 body를 자바객체로 변환하고, 자바객체를 다시 HTTP 응답 body로 변환해준다. @RequestBody 클라이언트에서 서버로 필요한 데이터를 요청하기 위해 JSON 데이터를 요청 본문에 담아서 서버로 보내면, 서버에서는 @RequestBody 어노테이션을 사용하여 HTTP 요청 본문에 담긴 값들.. 2022. 10. 26.