私はこの依存関係を持っています:
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
によって管理されているバージョンがあります
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
</parent>
そして私はこの作品を持っています:
import javax.validation.constraints.NotNull;
//other imports ommited
@Component
@ConfigurationProperties(prefix = "collector")
public class CollectorProperties {
@NotNull
private String urlCDI;
//getters and setters
}
そして、私のSpringApplication.run
クラスには次のようなものがあります。
@SpringBootApplication
@EnableConfigurationProperties
@ComponentScan({ "otherPackages", "packageWhereCollectorPropertiesIs" })
この行でapplication.properties
を持っているとき
collector.urlCDI=https://www.cetip.com.br/Home
それは他の春の豆の中で想定されていたように機能します:
//@Component class variables:
@Autowired
private CollectorProperties props;
//inside some method
URL url = new URL(props.getUrlCDI());
しかし、それを削除したり、プロパティキーを変更したりすると、検証エラーではなく、多くのNPEが発生します。私が間違っているのは何ですか? hibernate-validator
にはjavax.validation.constraints.NotNull
インターフェースの実装が含まれていませんか?
プロパティクラスに「@Validated」アノテーションを追加します