我正在写一个Spring引导应用程序,我想验证所有预期的参数或外部化属性是在我的应用程序运行之前设置的。当我能做到这一点? 我找到commons-cli或args4j库,但我没有如何使用它与Spring启动应用程序,如果它是一个很好的解决方案。谢谢Spring引导和参数验证
0
A
回答
0
把你的验证逻辑放在Spring引导主要方法中。在Spring引导应用程序中没有独立的方式来使用这些库。你可以在你的主要方法中添加你的验证代码,解析参数并进行验证。 U可以使用任何参数解析器库。
@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();
}
}
+0
谢谢我将使用您的解决方案 – atoua
0
有几个这样做。此链接解释了所有可用https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
如果你只是检查NOT NULL然后您就可以使用@Value
像这样
@Configuration
public class ApplicationConfiguration
{
@Value("${name}")
private String name;
}
与有关应用程序,如果该值将停止在启动null
如果您有其他需要确定其特性的特性,您可以使用@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");
}
}
}
相关问题
- 1. FirebaseAuth JAVA(Spring引导)验证令牌
- 2. Spring引导ServeletInitializer和Spring Security
- 3. 引导验证重新验证
- 4. 引导验证没有验证
- 5. Spring引导和Mongodb
- 6. jQuery和引导输入验证
- 7. 使用JavaScript的spring引导中的点属性的引导验证
- 8. QTestLib - 验证非const引用参数
- 9. 验证参数
- 10. 验证参数
- 11. 引导按钮,验证
- 12. 引导Jquery验证+ PHP
- 13. 表单验证角/引导
- 14. 使用引导验证
- 15. Twitter的引导验证onNext
- 16. 引导-timepicker输入验证
- 17. 引导4表单验证
- 18. 验证输入数组引导验证器 - Laravel 5.2
- 19. Flex/Spring/Hibernate验证 - spring验证器和ExceptionTranslator
- 20. SPRING MVC数据和密码验证
- 21. Jpa和spring 3 mvc验证
- 22. Spring MVC和Ajax验证
- 23. 在Spring引导中抛出验证异常
- 24. 身份验证访问Spring引导Zuul服务路线
- 25. Spring(引导)+ Angular(2 | 4)身份验证选项
- 26. 在使用graphql的spring引导中进行身份验证
- 27. jijster spring引导自定义身份验证提供程序
- 28. Spring引导中的自定义表单验证
- 29. C++函数的参数验证(指针与引用参数)
- 30. Spring引导Resttemplate HTTP POST具有基本身份验证和自定义对象
你的意思是设置为不是'null'吗? – ndrone