请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于反射

@Autowired
private SystemConstants systemConstants;

 List<SysConfig> list = sysConfigDao.selectAllParam();
        list.forEach(one->{
            String key=one.getParamKey();
            String value=one.getParamValue();

            key= StrUtil.toCamelCase(key);
            try {
                //反射写法,获取指定系统参数类对应字段
                Field field = systemConstants.getClass().getField("key");
                //当前对象对应字段赋值
                field.set(systemConstants,value);
            }catch (Exception e){

            }
        });

循环去设置spring创建的对象systemConstants的值 这样是会出现多个SystemConstants类 对象吗?

正在回答 回答被采纳积分+3

1回答

神思者 2022-03-21 09:54:26

不会的,只是给属性赋值。建议你先百度一下Java反射给属性赋值的相关知识,这个问题很容易理解

0 回复 有任何疑惑可以回复我~
  • 提问者 慕少8152258 #1
    spring管理的@Component对象没有加@Scope("prototype")注解的类,都是单例的。。。写迷糊了
    回复 有任何疑惑可以回复我~ 2022-03-21 21:47:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信