본문 바로가기
728x90
반응형

spring68

[Spring] local cache key, value 조회 및 삭제 @Cacheable 어노테이션을 사용하여 생성한 로컬 캐시 (ehCache)를 조회하고 삭제하는 방법을 알아보겠습니다. import org.springframework.cache.CacheManager; @Resource private CacheManager cacheManager; 1. Key, Value 정보 조회 1. ehcache public ResponseEntity ehCacheValues() { List result = new ArrayList(); for (String cacheName : cacheManager.getCacheNames()) { EhCacheCache cache = (EhCacheCache) cacheManager.getCache(cacheName); Ehcache ehc.. 2020. 12. 4.
[SpringBoot2] java config로 hikari datasource, transaction aop 설정 pom.xml org.springframework.boot spring-boot-starter-jdbc org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.3 org.apache.commons commons-dbcp2 mysql mysql-connector-java runtime  application.ymlspring: datasource: h.. 2020. 11. 1.
[Spring] Chrome 양식 다시 제출 확인 ERR_CACHE_MISS 해결방법 Chrome에서 POST 요청으로 페이지 이동후 뒤로 가기를 하면 아래와 같은 확인 페이지를 제공하도록 되어있습니다. ​ ​ ​Spring security를 사용하면 headers cacheControl를 disabled 처리함으로써 해결합니다. @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) { http // ... .headers(headers -> headers .cacheControl(cache -> cache.disable()) ); } } Cache Control.. 2020. 10. 31.
[Spring] Mockmvc에 ExceptionHandler 등록 Controller Test 를 위해 MockMvc 기반으로 Test를 할 때, @ControllerAdvice 로 지정한 Global Exception Handler가 Test에서 동작하지 않을 때가 있습니다. ​ Mockmvc를 생성할때 아래와 같이 setControllerAdvice()로 사용할 class를 지정해주어야 합니다. ​ Normally @ControllerAdvice are auto-detected as long as they're declared as Spring beans. However since the standalone setup does not load any Spring config, they need to be registered explicitly here instead.. 2020. 10. 31.
[Spring Batch4] 배치 Test를 위한 Configuration - Spring Batch Test 공식 문서 (한국어 번역)​공식 문서에 나와있는 batch job의 end to end 테스트 예제는 다음과 같습니다.@SpringBatchTest@RunWith(SpringRunner.class) // 스프링 JUnit 기능을 사용하겠다는 표시@ContextConfiguration(classes = SimpleJobConfiguration.class) // ApplicationContext에 설정할 리소스 명시public class SimpleJobTest { @Autowired private JobLauncherTestUtils jobLauncherTestUtils; @Test public void simple_job_테스트() throw.. 2020. 10. 31.
[Spring Security5] SecurityFilterChain, Filter 이중 호출 해결 (Filter disabled) Multiple HttpSecurity 구성에서 서비스를 이동할 때, 각 서비스에서 사용하는 권한으로 변경하는 필터 AuthorityChangeFilter를 등록하려고 합니다.​​<p id="SE-cd093979-c8b7-433d-a3ce-f7414916109f" dat.. 2020. 10. 31.
[Spring Security5] Multiple HttpSecurity, Multiple Login, accessDenied 설정 한 프로젝트에 여러 개 서비스가 있을 경우, 로그인 화면이 두 개 이상인 경우 다음과 같이 구성합니다.​MultipleSecurityConfiguration.java (<a href="https://docs.spring.io/spring-security/site/docs/4.1.5... 2020. 10. 31.
[SpringBoot] Jackson JsonAlias 설정 및 x-www-form-urlencoded 문제 해결 JsonAlias를 사용하기위해 pom.xml에 Jackson lib를 추가합니다. org.springframework.boot spring-boot-starter-web com.fasterxml.jackson.core jackson-databind com.fasterxml.jackson.core jackson-annotations 2.9.9 com.fasterxml.jackson.core jackson-databind 2.9.9 com.fasterxml.jackson.core jackson-core 2.9.9 @JsonAlias 사용법 @Data public class UserVO { @JsonAlias(value = {"name", "userNm", "userName"} private String n.. 2020. 10. 31.
[spring] @ResponseBody Annotation vs ResponseEntity @ResponseBody annotation을 사용하면 스프링이 반환 객체를 http response body로 변환합니다. ResponseEntity는 @ResponseBody annotation과 유사하게 작동합니다. 그러나 ResponseEntity 객체를 생성할 때 response header를 http response에 추가할 수도 있습니다. responseEntity를 반환 객체로 사용하는 경우 @ResponseBody annotation을 사용할 필요가 없습니다. 예제) @ResponseBody annotation 사용 @ResponseBody @RequestMapping("/getData") public ResJsonVO getData(DataVO param) { try { return t.. 2020. 10. 31.
[spring] @Valid를 이용한 validation 체크와 custom annotation으로 validation 1. Valid annotation을 이용한 validation 체크 우선, VO 클래스의 필드에 Validation을 체크하도록 annotation을 설정합니다. 예) @NotEmpty, @Length 등 @Data @EqualsAndHashCode(callSuper = false) public class SiriVO extends PagingCommonVO { private long siriId; @NotEmpty(message = "제목을 입력해주세요.") @Length(min = 0, max = 100, message = "The maximum length of the title value is 100. ") private String title; @CodeValid(message = "사용여부를.. 2020. 10. 31.
728x90
반응형