본문 바로가기

분류 전체보기45

Java 9 Collections, Stream Improvements 2017년 9월 21일 Java 9 이 출시되었습니다. 크게 부각되고 있는 기능은 Jigsaw, Reactive Streams, REPL/JShell 가 있습니다.출시 전부터 기대를 많이 받던 기능들이지만, 학습비용이 어마어마할 것 같습니다 ..!그래서 저는 일단 제가 바로 쓸 수 있을만한, 코드 짜는 것을 더 편하게 만들어줄 수 있는 Java 9 의 새로운 기능들을 소개해보려고 합니다. 성능적인 부분과 좀 더 언어에 대한 깊은 이해가 있어야 하겠지만, 지극히 부족한 제 관점에서 편리한 기능을 소개해봅니다!소개할 내용은Collections ImprovementsStream Improvements입니다.예제는 이미 추석 전에 모두 작성했었는데…어마어마한 게으름 추석이 지나고서야 글을 작성하게 되었습니다. .. 2017. 10. 30.
Spring 에서 @ConditionalOnClass, @ConditionalOnBean 사용할 때 주의할 점 Spring Boot 기반의 자동 설정을 위한 AutoConfiguration 클래스를 만들다가 발생한 이슈를 작성합니다.주의할 점을 보기 전 알아야 할 것!@Conditional 이란?스프링4에서 도입된 어노테이션으로 조건부로 Bean을 스프링컨테이너에 등록하는 역할을 합니다. 이 어노테이션은 Condition Interface 사용하여 특정 조건부로 등록되도록 만들 수 있습니다. 그리고 현재의 스프링 프레임워크에서는 미리 정의된 Condition Interface 구현체를 가지고 있는 @Conditional 어노테이션의 파생 어노테이션들이 있습니다.주의점을 적을 어노테이션은 아래 어노테이션들 입니다.@ConditionalOnClass : 특정 Class 파일이 존재하면 Bean 을 등록.@Condit.. 2017. 8. 28.
Spring Boot 와 Properties(or Yaml) Environment Spring Boot 에서 properties 설정에 대한 깨달음을 얻어 정리하고자 글을 작성합니다.몇 시간 전까지만 해도 이 글은 @PropertySource Yaml 사용하기 라는 글로 작성될 뻔 하였던 글 입니다.제가 처음 위의 주제로 글을 작성하기로 마음 먹은 이유는@PropertySource 의 Yaml 미지원@ConfigurationPropeties 의 locations Deprecated때문입니다.까려고 찾아보다가, 내가 잘못 알았구나 하는 깨달음에 바로 글을 작성합니다.발단저의 10번째 블로깅이였던 스프링 부트, YAML 적용 이라는 블로그에서 소개하였던 @ConfigurationProeprties 의 locations 이 Spring Boot 1.4 를 이후로 Deprecated 되었습니.. 2017. 8. 28.
Quartz + Spring Batch 조합하기 Zum 에서 BeyondJ2EE 김태기 팀장님과 표준화 프로젝트를 진행하며, Zum 에서의 Batch 에 대한 표준을 작성하며 알게 된 Quartz Framework 의 매력과 직접 개발해본 Spring 과의 조합 및 궁합을 소개해보려고 합니다.Quartz란?Quartz Scheduler 는 거의 모든 Java 응용 프로그램에 통합 할 수 있는 풍부한 기능의 오픈 소스 작업 스케줄 라이브러리입니다.저에게는 다소 생소했던 라이브러리였습니다. 그래서 리서치를 해보았더니,스프링에서 Unix의 Cron 처럼 특정시간 혹은 몇분 혹은 몇시간마다 동작해는 스케쥴러를 구현해야 했다. 그래서 찾아보게 된게 Spring + Quartz Scheduler 조합의 활용이었다. 하지만 Spring 3.1 버전 부터는 Quar.. 2017. 8. 25.