springboot @Value取不到值排查方法,无非一下几种情况

情况一:检查yml文件的格式是否正确

情况二:@Value的值和配置文件中是否相同

情况三:使用static或者final修饰了tagValue

1

2

3

4

@Value("${ftpIP}")

private static String ftpIP;

@Value("${ftpUserName}")

private final String ftpUserName;

情况四:用该注解的类上面没有加注解,即不能被spring管理,需要添加@Controller@Service@Component等才会被扫描到

1

2

3

4

public class FTPManagerService {

 @Value("${ftpIP}")

 private static String ftpIP;

}

情况五:类被new新建了实例,而没有使用@Autowired

1

2

3

4

5

6

7

8

9

10

11

12

public class FTPManagerService {

 @Value("${ftpIP}")

 private static String ftpIP;

}

public class Test{

    /*错误用法*/

    FTPManagerService  f = new FTPManagerService ();

  

    /*正确用法*/

    @Autowired

    FTPManagerService  f2;

}

情况六:检查项目的pom文件packaging配置,如果是pom则加载包application.yml文件

修改为jar   <packaging>jar</packaging>

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐