开发者社区> 问答> 正文

Spring怎么注入 构造函数 有参数的bean ,而且要动态传递

比如:

User ps = new Man(age, size);

参数:age size 是上一步写入的,不是在配置文件里面写个固定值。

展开
收起
a123456678 2016-03-18 15:06:28 11173 0
2 条回答
写回答
取消 提交回答
  • 个人理解。
    我的理解是,你希望在Spring中配置一个单例的Bean,只是这个Bean中有两个状态值(age和size)是可一个动态被更新掉的。这样的话,你可以如下方式定义:
    @Component
    class Man{

    private volatile int age;
    private volatile int size;
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getSize() {
        return size;
    }
    public void setSize(int size) {
        this.size = size;
    }

    }

    在其他的地方你可以随时更新Man中的age和size值。

    2019-07-17 19:06:47
    赞同 展开评论 打赏
  • 思路:

    问题:1.spring 默认是单例模式,这个要去掉

        2.在spring 创建像时,你是不知道的。需要通过 容器去解决。
    

    方法:

    1.去掉单例模式
    
    2.添加中间传递容器。  
    
          (1)在注入之前,放入所需对象。
    
           (2)在注入类的构造方法中添加从容器中获取
    
        (3)对象的方法就可以了。
    

    暂时想到这个方法。应该还有其它 大神有更 ,优雅的方式。

    2019-07-17 19:06:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载