Spring 4 에서 새로 소개된 @Order 어노테이션은 같은 타입의 Bean이 Collection에 Autowired 될 때 순서를 지정하기 위해 사용합니다. 아무래도 인증이나 보안과 관련되어 가장 우선적으로 필터링할 클래스에 주로 사용합니다. 먼저 사용하기 위한 샘플 소스를 작성해보도록 하겠습니다. Work.java public interface Work { public void work(); } Programmer.java @Service @Order(value=1) public class Programmer implements Work { public void work() { System.out.println("Programmer Working..."); } } Designer.java @Ser..
Author: 니용 Kotlin으로 개발 도중 Java에서 지원해주던 Lombok을 사용할 수 없는 증상이 발생하였습니다. 검색을 해보니 Kotlin은 Compile을 하는 프로세스가 Java와 다르기 때문에 이런 증상이 발생하였는데요, 정확한 사유는 이를 사용하는 Gradle의 특징을 먼저 알아야 합니다. Gradle build.gradle 파일에서 왠만한 그래들의 정의가 이루어집니다. 정의가 이루어질때, implementation이나 compileOnly, runtimeOnly 등 이전에 사용했던 방식을 Kotlin에 넘어와서도 그대로 사용하였습니다. 보통 build.gradle 파일에서는 이와 같이 Lombok을 사용하기 위해 선언해두었습니다. //... compileOnly('org.project..
스프링 프레임워크 사용하다가 궁금한 것이 생겼습니다. 다 같은 어노테이션인데 굳이 왜 나누어 놓았을까? 분명 이유가 있겠죠? 모르는 것은 바로 궁금증을 해결해보아야 되죠!! 이번 글에서는 @Bean과 @Component의 차이에 대해 살펴보려고 합니다. @Bean 외부 라이브러리지만 개발자가 컨트롤이 불가능한 경우 사용한다고 합니다. 예를 들어, Redis를 사용하는 경우가 있습니다. @Configuration public class RedisConfig { private @Value("${spring.redis.host}") String redisHost; private @Value("${spring.redis.port}") int redisPort; @Bean public JedisConnection..
기존에 자바 소스에서는 @Override, @Deprecated, @SuppressWarnings 의 형태로 사용했다. Spring Framework에서는 위의 기능들 말고 좀 더 효율적으로 개발을 하기 위해 '@'라는 단어를 앞에 붙여 사용하고 있다. @: at이라고도 읽지만 Spring 내에서는 Annotation(어노테이션, 애노테이션이라고도 함)으로 읽고 있다. 어노테이션은 스프링 프레임워크 3.0부터 본격적으로 사용되기 시작하였고, (현재는 5.2) 모든 어노테이션은 org.springframework 의 하위 패키지 클래스에 내장되어 있다. * build.gradle의 설정에 따라 각각 호출되는 어노테이션 명 및 기능이 다를 수도 있다. 또, 어노테이션은 각각의 레벨이 있고 그 레벨마다 호출되..