Files
spring-batch-quartz/batch-quartz/src/main/java/com/spring/common/util/ApplicationUtil.java
mindol1004 f1ddadfb9b commit
2024-08-26 18:48:20 +09:00

64 lines
2.3 KiB
Java

package com.spring.common.util;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class ApplicationUtil {
public static ServletRequestAttributes getServletRequestAttributes(){
return (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
}
//Request 객체 얻기
public static HttpServletRequest getRequest(){
return getServletRequestAttributes().getRequest();
}
//Set Request Attribute
public static void setRequestAttributes(String key, Object obj){
getServletRequestAttributes().setAttribute(key, obj, RequestAttributes.SCOPE_REQUEST);
}
//Get Request Attribute
public static Object getRequestAttributes(String key){
return getServletRequestAttributes().getAttribute(key, RequestAttributes.SCOPE_REQUEST);
}
//Session 객체 얻기
public static HttpSession getSession(){
return getRequest().getSession();
}
//Set Session Attributes
public static void setSessionAttributes(String key, Object obj){
getServletRequestAttributes().setAttribute(key, obj, RequestAttributes.SCOPE_SESSION);
}
//Get Session Attributes
public static Object getSessionAttributes(String key){
return getServletRequestAttributes().getAttribute(key, RequestAttributes.SCOPE_SESSION);
}
//HttpServletResponse 객체 얻기
public static HttpServletResponse getResponse(){
return getServletRequestAttributes().getResponse();
}
//beanName을 통해서 Bean을 얻을 수 있다.
public static Object getBean(String beanName){
var context = ContextLoader.getCurrentWebApplicationContext();
if (context == null) {
throw new IllegalStateException("WebApplicationContext를 찾을 수 없습니다.");
}
return context.getBean(beanName);
}
}