使用ConfigurationProperties加载配置文件的属性时,注意类中的功能方法命名不能以get…Set开头。 比如定义了一个如下的类:
@Component
@PropertySource("classpath:application.yml")
@ConfigurationProperties(prefix = "oa.odsfile.sftp")
@Setter
@Slf4j
public class FileTransferOdsSftp {
private String username;
public void getFileFromSftp()
{
....
}
}
如上例,spring会从配置文件中尝试加载username和file-from-sftp这两个属性。实际上我们的本意是getFileFromSftp是一个功能方法,并不存在 FileFromSftp这个属性,所以为避免上述问题,我们需要将方法名修改为transferFileFromSftp… 总之,在写javaBean的功能方法时,一定要避免方法以get…set…等字眼开头