最近在学习Spring框架,看书上讲的构造注入和依赖注入都是在程序的方法执行之前就完成了(说的可能有点问题,目前我觉得除了setter方法之外的方法都是在注入后才被调用的)。这里我就有个问题,假如有一个A类,他的构造方法需要一个字符串参数,而这个字符串参数是要求用户输入的,这也就是个例子。我的问题是像这样一开始并不知道如何创建实例,或者参数在运行方法之前无法确定的时候要怎么设置注入。或者说这种情况本来就无法设置注入

解决方案 »

  1.   

     ing
      

  2.   

    LZ所说的情况,一般该字符串是个全局的常量,比如域名,在不同的环境下是变化的,所以一般我们都是设置为可配置的,这样就满足了LZ所说的构造注入的场景,否则,我们是不可能由用户自用定义参数去实现注入的.
    若有不当之处,欢迎指正
      

  3.   

    请问您说的设置为可配置的具体是什么意思呢?我现在的理解是对于那些在程序运行后才能获取实例化所需参数的全局变量来说,Spring框架是无法提供注入的,还是需要像平常那样写。我也是刚开始看,有很多不懂的地方
      

  4.   

    一个Action,它有一个User类,User注入Action。spring启动的时候,Action会注入一个User对象,如果User没有注入参数,User对象的属性会为空。当提交表单到后台的时候,才会给User赋值。
      

  5.   

    也就是说这个注入可有可无是么
    你可以在添加User这个bean的时候给它赋值,就是在配置文件里面给user添加具体属性,然后再把user注入action。
      

  6.   

    试试设置default-lazy-init,延迟初始化
      

  7.   

    为什么csdn人气这么低了。