64 lines
2.3 KiB
Java
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);
|
|
}
|
|
|
|
}
|