파란하늘의 지식창고
Asciidoc 문서 작성을 위한 프로젝트 경로 설정 팁
Study/Java 2019. 6. 19. 10:53

eclipse의 AsciiDoctor Editor를 사용하면서 설정한 내용임 asciidoc 문서 작성을 위해 프로젝트를 설정하면서 예제 소스를 include 하기 위해 다음과 같이 설정하였다. org.asciidoctor asciidoctor-maven-plugin ${asciidoctor.maven.plugin.version} org.springframework.restdocs spring-restdocs-asciidoctor ${spring-restdocs.version} asciidoc-to-html prepare-package process-asciidoc html5 coderay true src/main/resources/static ${java.version} ${spring-restdocs..

Eclipse (STS) 메모리 설정 이후 응답 없음 현상
Study/Java 2019. 6. 17. 13:56

(2019-09-20 추가) STS 4.4.0 이후 아래 해당 현상은 해결되었다. 따라서 이 글의 설정을 더이상 할 필요가 없어졌다. sts에서 workspace에 프로젝트를 여러개 열다보면 out of memory 현상이 발생한다. 이를 피하기 위해 기본 설정된 메모리보다 더 많이 잡고 사용하게 된다. 기본 설정 -Dosgi.requiredJavaVersion=1.8 -Xms256m -Xmx1024m 변경 후 -Dosgi.requiredJavaVersion=11 -Xms512m -Xmx2048m 그런데 계속 프로젝트가 응답없음 현상이 발생한다. 작업관리자를 보면 메모리나 cpu 사용율이 문제가 되는건 아닌데 이런 현상이 발생되면 아래처럼 추가를 해주면 된다. -Dosgi.requiredJavaVersi..

article thumbnail
Spring Rest Docs 사용해보기
Study/Java 2019. 6. 14. 14:23

Spring Rest Docs 2.0.5.RELEASE 기준으로 작성된 글 maven 빌드 기준 설명임 Spring REST Docs 소개 Sprig Rest Docs 문서 Spring REST Docs Document RESTful services by combining hand-written documentation with auto-generated snippets produced with Spring MVC Test. docs.spring.io Spring Rest Docs는 asciidoc 개발 문서 작성에 spring web 요청/응답 결과에 대한 문서 자동화를 지원해주는 라이브러리이다. 예전에 spring boot + swagger기반의 라이브러리인 springfox swagger를 사용해서..

Spring Boot 전역 에러 처리
Study/Java 2019. 4. 30. 13:31

Spring Framework 5.1.6.RELEASE, Spring Boot 2.1.4 .RELEASE 기준으로 작성됨 Spring Framework의 전역 에러 처리 Spring framework는 전역 에러를 처리하기 위해 아래의 인터페이스를 제공한다. 제공되는 interface servlet (webmvc) HandlerExceptionResolver reacitve (webflux) WebExceptionHandler Servlet 전역 에러 처리 HandlerExceptionResolver Spring Web MVC - Dispatcher Servlet - Exceptions handlerExceptionResolver는 servlet에서 전역 에러 처리를 하기 위해 제공되는 인터페이스이다. ..

Spring Boot AutoConfiguartion 에서 생성자나 @PostConstruct로 ConfigurationProperties 값 변경 시 bean 호출 순서 문제
Study/Java 2019. 4. 23. 11:25

문제 발생 상황은 다음과 같다. Spring Boot AutoConfiguration으로 개발 ConfiguartionProperties를 사용 AutoConfiguration에서 ConfiguartionProperties를 생성자 또는 @PostConstruct에서 호출하여 추가 작업을 처리 다른 Configuration에서 해당 properties를 사용하면 3번 작업이 수행되지 않은 상태로 ConfigurationProperties가 넘어와서 문제가 발생 (로그로 확인해보면 이 후에 수행 되는 것을 확인함) 해당 상황의 간단한 코드는 다음과 같다. @Configuration @EnableConfigurationProperties(TestProperties.class) public class ACon..

article thumbnail
Eclipse debug view의 Variables에 Error 가 표시되는 경우
Study/Java 2019. 4. 19. 15:11

잘 쓰던 Eclipse (또는 STS)가 최근 버전을 다운로드하고 나서 debug 창에 객체 정보가 올바르게 보이지 않는 현상이 발생하고 있다. (STS 4.2.0, 4.2.1에서 확인한 현상임) 예를 들어 아래처럼 에러가 나서 하위 객체의 정보가 표시되지 않고 있다. 그런데 또 해당 객체를 클릭하면 아래에 관련 정보를 간략하게나마 아래창에서 확인이 된다. 뭔가 새 버전의 eclipse에서 기본 설정값이 바뀐 것 같은데 하위 객체 정보를 바로 보지 못해 불편하다. 아래와 같이 해당 창에서 오른쪽 마우스 -> Show Logical Structure -> Array 체크 항목을 해제하면 기존의 결과처럼은 보이지 않지만 어느 정도 확인을 할 수 있게 된다. 해당 설정은 이전 버전에서도 동일한 설정이었고 현재..

article thumbnail
Eclipse Package Explorer 에서 Maven Dependencies 정렬하기
Study/Java 2019. 4. 18. 09:23

Eclipse를 사용하면서 Package Explorer의 Maven Dependencies에서 참조된 dependency jar를 열어보는 경우가 많다. 그런데 정렬이 되어 있지 않아 찾기가 힘들다. 요걸 정렬하는 옵션이 Eclipse에 있다. Window -> Preferences -> Java Appearance 에 Sort library entries alphabetically in Package Explorer 옵션을 활성화해주면 된다. 해당 설정을 하면 아래 처럼 정렬이 되어 찾기 편해진다.

Spring Boot AutoConfigurtaion java.io.FileNotFoundException: class path resource [.class] cannot be opened because it does not exist 에러
Study/Java 2019. 4. 3. 15:49

Spring Boot AuoConfiguration 개발할 때 spring.factories에 EnableAutoConfiguration를 등록하여 사용하는데 아래와 같은 에러가 발생하는 경우가 있다. Caused by: java.io.FileNotFoundException: class path resource [.class] cannot be opened because it does not exist at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:180) at org.springframework.core.type.classreading.SimpleMetadataReader.(SimpleMetad..

article thumbnail
Spring Boot AutoConfiguration 개발하기
Study/Java 2019. 3. 28. 15:21

Spring Boot 기반의 프로젝트를 개발하면서 사용하는 기능들을 정리 @ConfigurationProperties 사용하기 ConfigurationProperties는 properties 파일에 설정한 property 값을 java object에 매핑하여 java 코드에서 해당 값을 사용하기 편하게 해 준다. 아래와 같은 properties class를 만든다고 가정한다. @Data @ConfigurationProperties(prefix = "test.sample") public class TestSampleProperties { private String testStr; private int testInt; } 해당 Properties 설정과 매칭 되는 property 값을 properties 파..

article thumbnail
Jasypt 암복호화 하기
Study/Java 2019. 3. 1. 20:04

암호화는 잘 모르는 내용이라 테스트하면서 기록하여 두서없음 dependency 참조 org.jasypt jasypt 1.9.2 다른 참조 라이브러리로 사용한다면 jasypt-spring-boot-starter 2.1.1이 현재 있긴 한데 해당 pom은 현재 com.melloware.jasypt 1.9.4 라이브러리를 참조하고 있다. com.melloware.jasypt의 경우 StringFixedSaltGenerator를 사용하면 오류가 발생하고 있어 org.jasypt.jasypt를 사용해야 한다 기본 사용 암복호화를 간단하게 해 보면 아래와 같다. public void encryptSimpleTest() { StandardPBEStringEncryptor encryptor = new StandardP..