@SpringBootApplication
@EnableJpaAuditing
@EnableCaching
@ComponentScan({"com.ssafy.core"})
@ComponentScan({"com.ssafy.api"})
@EntityScan("com.ssafy.core")
@EnableJpaRepositories("com.ssafy.core")
public class ApiApplication {
public static void main(String[] args) {
SpringApplication.run(ApiApplication.class, args);
}
}
@EnableJpaAuditing
@EnableCaching
@ComponentScan
@EntityScan
@EnableJpaRepositories
// ๋ฐฐ์น ๊ธฐ๋ฅ ํ์ฑํ
// @EnableBatchProcessing : Spring Batch์ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ์ฌ์ฉํ ์ ์๋ค.
@EnableBatchProcessing
@SpringBootApplication
@EnableJpaAuditing
@EnableCaching
@ComponentScan({"com.ssafy.core"})
@ComponentScan({"com.ssafy.batch"})
@EntityScan("com.ssafy.core")
@EnableJpaRepositories("com.ssafy.core")
public class SpringbatchApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbatchApplication.class, args);
}
}
@EnableBatchProcessing
@RestControllerAdvice
public class ExceptionAdvice {
private final ResponseService responseService;
private final MessageSource messageSource;
@ExceptionHandler(CAuthenticationEntryPointException.class)
@ResponseStatus(HttpStatus.UNAUTHORIZED)
public CommonResult authenticationEntryPointException(HttpServletRequest request, CAuthenticationEntryPointException e) {
log.info(getMessage("entryPointException.msg"));
return responseService.getFailResult(Integer.valueOf(getMessage("entryPointException.code")), getMessage("entryPointException.msg"));
}
}
@RestControllerAdvice
@ExceptionHandler
api-module/resources/i18n/exception_**.yml์ ์์นํ ์ฝ๋์ ๋ฉ์ธ์ง
spring:
messages:
basename: i18n/exception
encoding: UTF-8
@Slf4j
@Component
@Aspect
// ์์ฒญ์ด ๋ค์ด์ค๋ฉด ๋ก๊ทธ ์ถ๋ ฅ
public class LogConfig {
@Pointcut("execution(* com.ssafy.api.controller.*.*(..))") // ์ด๋ฐ ํจํด์ด ์คํ๋ ๊ฒฝ์ฐ ์ํ
public void loggerPointCut() {
}
@Around("loggerPointCut()")
public Object logging(ProceedingJoinPoint pjp) throws Throwable { // 2
String params = getRequestParams(); // request ๊ฐ ๊ฐ์ ธ์ค๊ธฐ
long startAt = System.currentTimeMillis();
if(params != "") {
String className = pjp.getSignature().getDeclaringTypeName();
log.info("+++ REQUEST Param +++");
log.info("+++ {}({}) => {}", className.substring(className.lastIndexOf(".") + 1), pjp.getSignature().getName(), params);
}
Object result = pjp.proceed(); // 4
long endAt = System.currentTimeMillis();
return result;
}
}
@Aspect
@Pointcut