not registered via @EnableConfigurationProperties or marked as Spring component

not registered via @EnableConfigurationProperties or marked as Spring component

还有种报错形式:SpringBoot Configuration Annotation Processor not found in classpath

 

 

利用@ConfigurationProperties(prefix = "")来绑定属性时报错:
not registered via @EnableConfigurationProperties or marked as Spring component
 
POM依赖
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
 
注解需要
    @EnableAutoConfiguration
    @RestController
    @EnableConfigurationProperties({BookController.class})
    @ConfigurationProperties(prefix = "book")
    
    
    正是缺少@EnableConfigurationProperties({BookController.class}),才报该错的
    
    
代码
 
=========================BookController.class====================
复制代码
 1 package controller;
 2  
 3 import org.springframework.beans.factory.annotation.Value;
 4 import org.springframework.boot.SpringApplication;
 5 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 6 import org.springframework.boot.context.properties.ConfigurationProperties;
 7 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 8 import org.springframework.web.bind.annotation.RequestMapping;
 9 import org.springframework.web.bind.annotation.RestController;
10 @EnableAutoConfiguration
11 @RestController
12 @RequestMapping
13 @ConfigurationProperties(prefix = "book")
14 public class BookController {
15 //    @Value("${book.author}")
16     private String author;
17 //
18 //    @Value("${book.name}")
19     private String name;
20  
21     @RequestMapping("/bookInfo")
22     public String showInfo(){
23         return author + ":" + name;
24     }
25  
26 }
复制代码
==================================application.yml===============
1  
2 book:
3   author: Tom
4   name: Springboot
=========================DemoConfig.class====================
复制代码
 1  
 2 package controller;
 3  
 4 import org.springframework.boot.SpringApplication;
 5 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 6  
 7  
 8 @EnableConfigurationProperties({BookController.class})
 9 public class DemoConfig {
10     public static void main(String[] args) {
11  
12         SpringApplication.run(BookController.class,args);
13     }
14 }
复制代码
原文地址:https://www.cnblogs.com/shitulaoma/p/12458893.html