[SPRING] Spring에서 @Order 주석을 사용하는 것은 무엇입니까?
SPRINGSpring에서 @Order 주석을 사용하는 것은 무엇입니까?
@Order 주석을 사용하는 코드를 한 번 보았습니다. Spring Security 또는 Spring MVC와 관련하여이 주석의 사용법을 알고 싶습니다.
다음은 그 예입니다.
@Order(1)
public class StatelessAuthenticationSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Autowired
private TokenAuthenticationService tokenAuthenticationService;
}
이 주석을 사용하지 않으면 위의 클래스의 순서는 어떻게됩니까?
해결법
-
==============================
1.Advice 실행 우선 순위에 사용됩니다.
Advice 실행 우선 순위에 사용됩니다.
우선 순위가 가장 높은 조언이 먼저 실행됩니다. 숫자가 낮을수록 우선 순위가 높아집니다. 예를 들어, 두 개의 'before'advice가 주어지면 우선 순위가 가장 높은 것이 먼저 실행됩니다.
그것을 사용하는 또 다른 방법은 Autowired 콜렉션을 주문하는 것입니다
@Component @Order(2) class Toyota extends Car { public String getName() { return "Toyota"; } } @Component @Order(1) class Mazda extends Car { public String getName() { return "Mazda"; } } @Component public class Cars { @Autowired List<Car> cars; public void printNames(String [] args) { for(Car car : cars) { System.out.println(car.getName()) } } }
실행 코드는 https://github.com/patrikbego/spring-order-demo.git에서 찾을 수 있습니다.
이것이 조금 더 명확하게되기를 희망합니다.
산출:-
마쓰다 도요타
-
==============================
2.@Order Annotations (Ordered 인터페이스와 마찬가지로)는 Bean이 Spring에 의해로드되거나 우선 순위가 지정되는 특정 순서를 의미합니다.
@Order Annotations (Ordered 인터페이스와 마찬가지로)는 Bean이 Spring에 의해로드되거나 우선 순위가 지정되는 특정 순서를 의미합니다.
숫자가 낮을수록 우선 순위가 높음을 나타냅니다. 이 기능은 특정 순서로 Bean을 (즉, @Autowired를 통해) 컬렉션에 추가하는 데 사용될 수 있습니다.
특정 예제에서 주석은 클래스 자체에서 아무 것도 변경하지 않습니다. 이 특정 클래스가 사용되면 더 높은 우선 순위 ( '1'로 설정되어 있기 때문에)로 사용됩니다. 추가, 종속 정보가 다른 클래스에 추가되고 있기 때문에 우선 순위가 낮습니다.
-
==============================
3.@Order Annotation은 스프링 컨테이너로 빈을로드하는 순서를 지정합니다. 순서 (정수)를 낮추면 우선 순위가 높습니다. 따라서 0의 차수는 10의 차수보다 우선 순위가 더 높습니다. 마찬가지로 -100의 차수는 0보다 우선합니다.
@Order Annotation은 스프링 컨테이너로 빈을로드하는 순서를 지정합니다. 순서 (정수)를 낮추면 우선 순위가 높습니다. 따라서 0의 차수는 10의 차수보다 우선 순위가 더 높습니다. 마찬가지로 -100의 차수는 0보다 우선합니다.
from https://stackoverflow.com/questions/30328897/what-is-the-use-of-order-annotation-in-spring by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] JSON을 읽을 수 없습니다. START_OBJECT 토큰 중 hello.Country []의 인스턴스를 deserialize 할 수 없습니다. (0) | 2019.01.29 |
---|---|
[SPRING] Spring MVC의 ResponseEntity로 스트림 리턴하기 (0) | 2019.01.29 |
[SPRING] 스프링 데이터에서 JPA 엔티티를 아름답게 업데이트하는 방법은 무엇입니까? (0) | 2019.01.29 |
[SPRING] Spring, Maven, Eclipses에서 XML 파일의 속성 값을 처리하는 가장 좋은 방법 (0) | 2019.01.29 |
[SPRING] 인터페이스 레벨에서 두 클래스를 분리하면 무엇을 의미합니까? (0) | 2019.01.29 |