본문 바로가기

전체 글44

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.
Nexus 3.X - Maven, NPM 저장소로 이용하기 대부분의 Nexus 관련 글이 2.x.x 버전을 기준으로 작성되어 있어 3.x.x 기준으로 간단히 정리를 해보려고 합니다.Nexus란?Nexus는 Sonatype 에서 만든 저장소 관리자 프로젝트로, 다양한 Format 의 사설 저장소를 만들 수 있으며 메인 저장소를 Cache할 수 있는 기능 또한 제공하여 저장소를 관리할 수 있도록 도와주는 관리자 도구입니다. Maven 에서 사용할 수 있는 가장 널리 사용되는 무료 저장소로 잘 알려져있습니다.사설 저장소가 필요한 이유가리사니-사설 Repository Nexus 설치 / 연동 에 박용서님이 작성해주신 글에 잘 설명되어있습니다.(출처 : 가리사니-사설 Repository Nexus 설치 / 연동)몇 가지 추가하자면,개발팀에서 사용하는 공통 라이브러리들을 .. 2017. 7. 23.