我正在寫一個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