web-dev-qa-db-ja.com

スプリングブートで@NotNullを使用する方法は?

私はこの依存関係を持っています:

<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インターフェースの実装が含まれていませんか?

4
GabrielRado

プロパティクラスに「@Validated」アノテーションを追加します

6