Ich schreibe eine Spring-Boot-Anwendung, und ich möchte überprüfen, dass alle erwarteten Argumente oder externe Eigenschaften vor der Anwendung ausgeführt werden. Wann kann ich es tun? Ich finde Commons-CLI oder ARGS4J Bibliotheken, aber ich benutze es nicht mit einer Spring-Boot-Anwendung und wenn es eine gute Lösung ist. DankeSpring Boot und Argumente Validierung
Antwort
Setzen Sie Ihre Validierungslogik in Spring Boot Hauptmethode. Es gibt keine separate Möglichkeit, diese Bibliotheken in der Spring-Boot-Anwendung zu verwenden. Sie können Ihren Validierungscode innerhalb Ihrer Hauptmethode hinzufügen, um die Argumente zu parsen und die Validierung durchzuführen. U kann dafür beliebige args-Parser-Bibliotheken verwenden.
@SpringBootApplication
public class MyApplication{
public static void main(String[] args){
validateArguments(args);
SpringApplication.run(MyApplication.class);
}
private static validateArguments(args){
// validation logic - If validation fails throw IllegalStateException();
}
}
Danke ich werde deine Lösung benutzen – atoua
Es gibt mehrere davon, dies zu tun. Dieser Link erklärt alles, was https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
verfügbar ist, wenn Sie nur für nicht null sind, überprüft ist, dann können Sie @Value
wie so
@Configuration
public class ApplicationConfiguration
{
@Value("${name}")
private String name;
}
mit der über die Anwendung, wenn der Wert beim Start wird halt verwenden null
Wenn Sie andere Eigenschaften haben, die Sie sicherstellen müssen, dass sie einen bestimmten Wert haben, können Sie @ConfigurationProperties
@ConfigurationProperties(prefix = "test")
public class ConfigProps
{
private String name;
public String getName()
{
return name;
}
}
@Configuration
@EnableConfigurationProperties
public class AppConfig
{
@Autowired
public AppConfig(ConfigProps configProps)
{
if (!"test".equals(configProps.getName())
{
throw new IllegalArugmentException("name not correct value");
}
}
}
verwenden
- 1. Spring Boot Integrationstest RestController Validierung
- 2. Spring Boot + Thymelaf - Formular Validierung
- 3. Liberty Spring Boot und Spring Boot
- 4. Spring Boot Controller Annotation zur Validierung?
- 5. Spring Boot JPA Verbindung Validierung funktioniert nicht
- 6. Spring Boot und Prometheus
- 7. Spring Boot und AngularJS
- 8. Spring Boot und Logging
- 9. Spring Boot und FreeMarker
- 10. Spring Boot: Hibernate und Flyway Boot-Reihenfolge
- 11. Spring Boot Actuator ohne Spring Boot
- 12. Unterschied zwischen Spring und Spring Boot
- 13. Receive Collection/Iterable als Argumente im Spring Boot Controller
- 14. Spring Boot und JavaMailSender NoSuchBeanDefinitionException
- 15. Spring Boot und fetchType = Lazy
- 16. Spring Boot und Google SSO
- 17. Spring Boot OAuth2 und UserDetails
- 18. Spring Boot und Teradata UnzufriedeneDependenzException
- 19. Spring Boot application.yml und application.properties
- 20. OpenJPA- und Spring-Boot-Konfiguration
- 21. Spring Boot und Logging-Ort
- 22. Unterschied zwischen spring-boot-starter-web und spring-boot-starter-web-services und spring-boot-starter-jersey
- 23. Spring Boot CLI anständige Fehlermeldung
- 24. Fehlerüberprüfung Nachrichtenformat Spring Boot
- 25. Frühling Boot und Validierung von param in url
- 26. Spring Boot CommandLineRunner Ausnahmebehandlung
- 27. Spring-Boot & Spring-Security-Konfiguration
- 28. Validierung verschachtelt Modelle im Frühjahr Boot
- 29. Verwenden Sie den Spring Boot Actuator ohne Spring-Boot-Anwendung
- 30. Spring Boot + eckigen routeProvider
Meinst du nicht in 'null' gesetzt? – ndrone