@Data,@ConfigurationProperties的使用

@ConfigurationProperties可以自定义实体类,映射yml或者properties文件,自动为对象bean属性捆绑数据。

@Data是引入lombook依赖,能够使代码更加简洁,Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。

这里我们应用的场景是为JWT定义bean,并注入配置文件的数据

package com.yqjr.nbs.car.af.ln.util;

import lombok.Data;
// import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;



@Data
@Configuration
@ConfigurationProperties(prefix = "ftp")
public class FTPProperties {

    // @Value("${ftp.host}")
    private String host; // ftpurl

    private String port; // 端口

    private String username;

    private String password;

    private String bufferSize;

    private String encoding;

 
}

定义application.yml

ftp:
    host: 10.9.237.16   
    port: 21 
    username: root
    password: 54pwd@2015
    bufferSize: 2048
    encoding: UTF-8
service中使用FTPProperties 

@Autowired
FTPProperties ftpProperties ;

上面定义JwtProperties的时候,没有使用注解@Component,出现以下错误,加上@Component就ok了

Not registered via @EnableConfigurationProperties or marked as Spring component

没有通过@EnableConfigurationProperties 注册或者标记为Spring component

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容