问题点:
@Value注解无法直接给static属性注入数据,如:
@Value("${img.head-access-location}")
private static String headAccesslocation;
解决方法:
1、将实体类交给spring管理,在类上添加@Component
2、生成需注入属性(headAccesslocation)非静态的get和set方法
3、在set方法上添加@Value注解
具体参考如下:
@JsonIgnoreProperties({"headAccesslocation","value6"})
@Component
public class UserVo{
//用户头像访问前缀
private static String headAccesslocation;
/**
* 主键id*
*/
private Integer id;
/**
* 姓名*
*/
private String name;
/**
* 性别,F女,M男*
*/
private String sex;
/**
* 入职时间*
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date hireTime;
public String getHeadAccesslocation() {
return headAccesslocation;
}
//spring中的@Value注解不允许直接给静态变量注入数据
@Value("${img.head-access-location}")
public void setHeadAccesslocation(String headAccesslocation) {
this.headAccesslocation = headAccesslocation;
}
//设置头像返回路径
public void setHeadImg(String headImg) {
//访问路径===>域名:端口号/项目名/图片访问前缀/图片名
this.headImg = headImg==null?headImg: WebUtils.getSystemPath()+headAccesslocation+headImg;
}
}
注解说明:
@Component :此注解将对象交给spring管理
@Value : 此注解将数据注入给属性
@JsonIgnoreProperties :此注解可以将某些属性不返回前端显示
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss"):此注解将数据库的时间字段转成特定格式传给前端
spring的@Value注解无法直接给static属性注入数据,解决方法如下
最新推荐文章于 2023-06-07 09:16:45 发布