À quoi sert l'annotation @Order au printemps?
je suis tombé sur un coup d'oeil de code qui utilise @Order
annotation. Je veux savoir à quoi sert cette annotation en ce qui concerne la sécurité du ressort ou le ressort MVC.
Voici un exemple:
@Order(1)
public class StatelessAuthenticationSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Autowired
private TokenAuthenticationService tokenAuthenticationService;
}
Ce qu'il se passe à l'ordre mentionné ci-dessus classe si nous n'utilisons pas cette annotation?
1 réponses
il est utilisé pour l'exécution de conseils de priorité.
Le Conseil de priorité le plus élevé s'exécute en premier. Plus le nombre est faible, plus la priorité. Par exemple, si l'on donne deux conseils "avant", celui qui a la priorité la plus élevée s'exécutera en premier.
une autre façon de l'utiliser est de commander des collections 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())
}
}
}
Vous pouvez trouver le code de l'exécutable ici: https://github.com/patrikbego/spring-order-demo.git
Espérons que cette précise un peu plus loin.
Sortie:-
Mazda Toyota