Maison >Java >javaDidacticiel >Comment résoudre le problème de l'utilisation de @Value dans springBoot
Dans le projet springBoot, nous écrivons généralement certains chemins ou ressources dans le fichier de configuration pour faciliter la gestion.
Mais il peut y avoir quelques problèmes lors de son obtention.
file.uploadFolder=E://upload/
Utilisez @. Value("${name}") ci-dessus pour obtenir la valeur
@Value("${file.uploadFolder}") private String uploadFolder;
Mais les champs sont Il est modifié par. static pour devenir une variable statique. En utilisant cette méthode, la valeur ne peut pas être obtenue et ce que nous obtenons est nul.
Nous devons donc changer la façon d'obtenir la valeur, comme indiqué ci-dessous. N'oubliez pas de ne pas utiliser static dans la méthode set ! ! !
private static String uploadFolder; public static String getUploadFolder() { return uploadFolder; } @Value("${file.uploadFolder}") public void setUploadFolder(String uploadFolder) { Base64Utils.uploadFolder = uploadFolder; }
pour qu'elle soit gérée d'ici le printemps.
server.port=8007 #mysql配置 url=jdbc:mysql://localhost:3306/lzy_zyg?useUnicode=true&characterEncoding=UTF-8 username=root password=root
Ceci sont les informations de configuration pertinentes remplies dans application.properties La configuration mysql est utilisée comme informations de configuration externe.
@Configuration public class JfinalDb { @Value("${url}") private String dbUrl; @Value("${username}") private String dbUName; @Value("${password}") private String dbPwd; ... }
Il y a un problème très étrange lors de son utilisation, c'est-à-dire que le nom d'utilisateur et le mot de passe des paramètres de dénomination sont corrects, et le la connexion locale est également correcte Oui, mais l'erreur d'échec d'authentification de connexion est toujours signalée et le nom d'utilisateur n'est pas root.
Finalement, j'ai imprimé le dbUName et j'ai découvert que n'était pas du tout root, mais mon nom d'hôte !
Alors ici, pensez à ne pas personnaliser le nom username dans le fichier application.properties, car vous n'obtiendrez pas les résultats souhaités.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!