본문 바로가기

spring19

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.
jOOQ !! (Java Object Oriented Querying) 사내에서 Query Repository로 사용하게 된 jOOQ 를 간단하게 정리해보겠습니다. jOOQ가 뭐지? Java Object Oriented Querying jOOQ는 자바 코드로 쿼리를 작성할 수 있는 데이터베이스 인터페이스 입니다. 데이터베이스 스키마에서 생성 된 클래스의 쿼리를 작성하는 내부 도메인 특정 언어를 제공하며 내부 도메인 특정 언어로 SQL을 구현하므로 임의의 복잡성을 지닌 SQL문을 형식에 맞게 구성하고 실행할 수 있습니다. 내가 생각하는 jOOQ 단점도 분명 있겠지만, 조금이나마 사용해본 후 jOOQ가 좋다고 느낀 이유는 아래와 같습니다. 쿼리를 자바로 짤 수 있다 ! Spring Boot를 사용하면서도 자바 기반의 Config가 정말 좋았습니다. QueryDSL을 접했을 때도.. 2017. 6. 27.