@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
网友评论