본문 바로가기
반응형

개발/SpringBoot41

SpringBoot HikariCP 상태 log 보기 SpringBoot application.yml에서 HikariCP 상태 log를 확인하는 방법 logging: com.zaxxer.hikari.HikariConfig: DEBUG com.zaxxer.hikari: TRACE 위와 같이 설정하면 아래와 같이 상태를 log에서 볼 수 있다 추가적으로 아래와 같이 sping.datasource.hikari 항목에 HikariCP 옵션들을 추가 할 수 있다 spring: datasource: url: jdbc:mysql... username: xxxx password: xxxxxx driver-class-name: com.mysql.jdbc.Driver hikari: connection-timeout: 3000 validation-timeout: 3000 mi.. 2022. 2. 24.
SpringBoot RestTemplate ResponseType에 Generic 설정 RestTemplate사용 시 Response에 매핑하는 객체에 Generic를 설정하는 경우가 있다. 아래와 같이 공통 Response객체에 "data"필드의 객체를 원하는 객체로 설정을 하는 경우이다 public class ResponseVo { private RltVo rlt; private List data; ... } 일단 아래와 같이 시도를 해보면 에러가 발생하는 등으로 데이터를 제대로 받아올 수 없다 // 실패 ResponseVo response = restTemplate.exchange("myurl", HttpMethod.POST, entity, ResponseVo.class).getBody(); RestTemplate의 exchange() 메소드를 보면 ParameterizedTypeRe.. 2022. 2. 21.
SpringBoot WebConfig @EnableWebMvc, WebMvcConfigurer SpringBoot에서 WebConfig 설정 시 @EnableWebMvc, WebMvcConfigurer를 설정하는것을 자주 보는데 지금까지 확인한 내용만 정리해본다 먼저 @EnableWebMvc를 사용하거나 WebMvcConfigurer를 구현하지 않으면 아래와 같이 WebConfig 설정 시 Bean을 직접 등록해줘야하는 등으로 권장하지 않는 방법이라고 한다 @Configuration public class WebConfig { @Bean public InternalResourceViewResolver viewResolver() { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.s.. 2022. 1. 19.
SpringBoot static resource 설정 SpringBoot에서 정적 리소스(html, js, css, image 등) 설정 방법 기본 정적 리소스 경로는 아래와 같다 classpath:/META-INF/resources/ classpath:/resources/ classpath:/static/ classpath:/public/ 테스트를 위해 main/java/resources 경로에 static/html 폴더를 생성하고 html 파일을 하나 작성하고 http://localhost:8080/html/static.html 호출을 하면 간단히 확인 가능하다 정적 리소스 URL pattern 변경 정적리소스는 기본적으로 루트(/**)로 매핑이 되는데 변경을 할 경우 application.yml에서 다음과 같이 static-path-pattern을 설.. 2022. 1. 19.
SpringBoot EhCache JavaConfig설정 1. pom.xml 설정 org.springframework.boot spring-boot-starter-cache net.sf.ehcache ehcache 2.10.6 2. Cache Config 설정 @EnableCaching @Configuration public class CacheConfig { @Bean public EhCacheCacheManager ehCacheCacheManager() { net.sf.ehcache.config.Configuration configuration = new net.sf.ehcache.config.Configuration(); // path는 DiskStoreConfiguration 클래스의 ENV enum 참조하거나 PhysicalPath로 설정 config.. 2022. 1. 11.
addViewControllers()로 불필요 Controller 로직 제거 Controller에서 별다른 로직없이 단순 view 매핑 및 redirect가 필요한 경우 addViewControllers() 메소를 Override하여 설정 1. View 호출 @GetMapping("/hello") public String hello() { return "hello"; } 위와 같은 Controller 로직은 아래와 같이 WebConfig addViewController(), setViewName()으로 설정 가능 @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registr.. 2022. 1. 10.
SpringBoot Multi Servlet 추가 MVC설정 분리 테스트 SpringBoot 서블릿을 추가하기 위해 ServletRegistrationBean을 등록하여 테스트 진행 프로젝트 기본 구조는 아래와 같이 잡았고 my패키지에 있는 컨트롤러(MyController) 및 MVC 설정(MyWebConfig)을 분리하고자 한다. 어플리케이션 메인에서는 기본 서블릿에 포함되지 않게 MyController, MyWebConfig를 컴포넌트 스캔에서 제외했다. 그리고 ServletRegistrationBean을 등록하여 MyWebConfig를 context에 등록하고 기타 서블릿 설정을 한다. 참고로 addUrlMappings에서 "/my/**" 와 같이 "*"는 동작하지 않아 MyController의 모든 URL을 등록해줬다. @SpringBootApplication @Com.. 2022. 1. 4.
SpringBoot 설정에 따른 동적 빈 생성 SpringBoot application.yml 설정에 따라 빈을 동적으로 등록/제외해야 하는 경우 @ConditionalOnProperty 어노테이션을 사용해 간단히 처리 할 수 있다. 예를 들어 아래와 같이 application.yaml있고, 'sample.enable' 가 true일 경우만 특정 빈을 생성해야 하는 경우 아래 예시와 같이 설정을 한다. 아래와 같이 선언하게 되면 sample.enable이 true인 경우 SampleProp빈이 Spring Context에 등록이 된다. @Bean @ConditionalOnProperty(value = "sample.enable", havingValue = "true", matchIfMissing = false) public SampleProp sam.. 2021. 12. 9.
반응형