まず、コンフィギュレーションクラスに@ConfigurationProperties(prefix="data")
を追加する必要があります。
@Configuration
@PropertySource("classpath:dataconfig.properties")
@ConfigurationProperties(prefix="data")
public class DataProperties {
private Boolean enabled;
これはあなたの変数は直接@Value
注釈を使用せずにプロパティの値にバインドされていることを活性化。あなたのプロパティファイルにはdata.enabled
があります。つまり、接頭辞はdata
です。あなたもこれを設定しなければなりません。
thymeleafでBeanを直接使用するには、特別なコマンドを使用する必要があります。あなたのケースでは、それはそれのようになります(see point 5 in the docs)
<li th:if="${@dataProperties.getEnabled() == true}" ><h3>Hello</h3></li>
追加1:
あなたDataProperties
@Controller
public class IndexController {
@Autowired
private DataProperties dataProperties;
@GetMapping("/")
public String index() {
dataProperties.getEnabled();
return "index";
}
をautowireする必要がコントローラのような他のSpring Beanで同じプロパティを使用するには言及すると、それはフィールド上のautowireは悪い習慣です。しかし、そのようなものを使用するか、コンストラクタまたはセッターにautowireを使用するかはあなたの選択です。
エラーは何ですか? –
私は有効なプロパティのヌルを取得しています – boycod3
コントローラコードを表示してください...または少なくともモデルをどのように設定しますか。 – mrkernelpanic