Spring에서 @Order 주석은 어떤 용도로 사용됩니까?
다음을 사용하는 코드의 개요를 발견했습니다.@Order
주석Spring Security 또는 Spring MVC와 관련하여 이 주석의 용도가 무엇인지 알고 싶습니다.
다음은 예입니다.
@Order(1)
public class StatelessAuthenticationSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Autowired
private TokenAuthenticationService tokenAuthenticationService;
}
이 주석을 사용하지 않으면 위에서 언급한 클래스의 순서는 어떻게 됩니까?
조언 실행 우선 순위에 사용됩니다.
우선 순위가 가장 높은 조언이 먼저 실행됩니다.숫자가 작을수록 우선 순위가 높아집니다.예를 들어, 두 개의 '이전' 조언이 주어지면 우선 순위가 가장 높은 것이 먼저 실행됩니다.
다른 사용 방법은 자동 배선 컬렉션을 주문하는 것입니다.
@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 에서 확인할 수 있습니다.
이것이 그것을 조금 더 명확히 하기를 바랍니다.
출력:-
마쓰다 도요타
@Order
주석(및Ordered
interface)는 Spring에 의해 콩이 적재되거나 우선순위가 지정되는 특정 순서를 의미합니다.
숫자가 작을수록 우선 순위가 높음을 나타냅니다.이 기능은 특정 순서로 콩을 컬렉션에 추가하는 데 사용할 수 있습니다(즉,@Autowired
), 그 중에서도.
특정 예제에서 주석은 클래스 자체의 어떤 것도 변경하지 않습니다.이 특정 클래스가 사용될 때마다 가장 높은 우선 순위로 사용됩니다('1'로 설정되어 있음). 아마도 추가적이지만 다른 클래스에 종속적인 정보가 더 낮은 우선 순위로 추가되고 있기 때문입니다.
@Order
주석은 스프링 컨테이너별로 콩을 적재하는 순서를 지정합니다.순서(정수)가 낮을수록 우선 순위가 높습니다.따라서 0의 순서가 10의 순서보다 우선합니다.마찬가지로 -100의 순서는 0보다 우선 순위가 높습니다.
언급URL : https://stackoverflow.com/questions/30328897/what-is-the-use-of-order-annotation-in-spring
'programing' 카테고리의 다른 글
"개발자 디스크 이미지를 찾을 수 없습니다." (0) | 2023.08.05 |
---|---|
Android 에뮬레이터에서 localhost: 포트 액세스 (0) | 2023.08.05 |
알려진 기본 속성이 아니므로 'ng-forOf'에 바인딩할 수 없습니다. (0) | 2023.08.05 |
테이블 SQL 서버의 상위 1개 레코드 업데이트 (0) | 2023.08.05 |
Java EE 6.0과 비교한 봄 3.0 (0) | 2023.08.05 |