springboot在工具类中使用 @Value

312 阅读1分钟

由于static静态域最早加载到内存中,所以@Value不会生效,在set方法上使用value注解(注意set方法不是静态的,否则无法赋值),如下:

 
/**
 * ClassName UserRoleUtils
 * Description
 *
 * @author wang
 * Date 2021/7/5 16:51
 */
@Component
public class UserRoleUtils {


    private UserRoleUtils(){}

    private static List<String> ignoreValues;

    @Value("#{'${ignore.dept.values}'.split(',')}")
    public void setIgnoreValues(List<String> ignoreValues) {
        UserRoleUtils.ignoreValues = ignoreValues;
    }
}