springBoot 프로젝트에서는 관리를 용이하게 하기 위해 일반적으로 구성 파일에 일부 경로나 리소스를 작성합니다.
단, 구하는데 문제가 있을 수 있습니다.
file.uploadFolder=E://upload/
값을 얻으려면 위의 @Value("${name}")를 사용하세요
@Value("${file.uploadFolder}") private String uploadFolder;
그러나 필드는 정적 변수로 수정됩니다. 이 방법을 사용하면 값을 얻을 수 없으며 우리가 얻는 것은 null입니다.
그래서 값을 얻는 방법을 아래와 같이 바꿔야 합니다. set 메소드에서 static을 사용하지 않는 것을 기억하세요! ! !
private static String uploadFolder; public static String getUploadFolder() { return uploadFolder; } @Value("${file.uploadFolder}") public void setUploadFolder(String uploadFolder) { Base64Utils.uploadFolder = uploadFolder; }
에 추가하여 Spring에서 관리할 수 있도록 하는 것이 가장 좋습니다.
server.port=8007 #mysql配置 url=jdbc:mysql://localhost:3306/lzy_zyg?useUnicode=true&characterEncoding=UTF-8 username=root password=root
application.properties에 채워져 있는 관련 설정 정보인데, mysql 설정을 외부 설정 정보로 사용합니다.
@Configuration public class JfinalDb { @Value("${url}") private String dbUrl; @Value("${username}") private String dbUName; @Value("${password}") private String dbPwd; ... }
사용시 아주 이상한 문제가 발생합니다. 즉, 네이밍 설정의 사용자 이름과 비밀번호도 맞고 로컬 연결도 맞지만 연결 인증 실패 오류가 뜹니다 항상 보고되며 사용자 이름은 루트가 아닙니다.
드디어 dbUName을 인쇄해 보니 전혀 루트가 아니고 내 호스트 이름이었습니다!
여기에서는 원하는 결과를 얻을 수 없으므로 application.properties 파일에서 사용자 이름 이름을 사용자 정의하지 마십시오.
위 내용은 springBoot에서 @Value 사용 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!