各位大神 我有一个问题一直疑惑,strtus2的aciton实例是什么时候加载的啊?我自己测试了下 在action中写无参构造器发现不加载 然后写个有参构造器发现启动的时候加载报错...我感觉既然启动的时候有参构造器报错说明启动的时候就去加载了action。可是为什么我写无参构造器发现里面的语句不执行呢?求高手解释下啊、、、、、

解决方案 »

  1.   

    对于正常的<bean></bean>配置来说,都是单列的模式,就是
    <bean name="" class="" scope="singleton"></bean>这个是spring容器启动的时候,就实例化类,你可以在对应class上面的构造函数里面输出一句话。
    而对于<bean name="AA" class="" scope="prototype"></bean>这个是当你调用这个系统的getBean(AA)才实例化这个类!
    如果在单列的情况下,不想当容器初始化的时候,就实例化类的话,就加一个lazy_init="true",这个就的当调用getBean的时候才实例化!
      

  2.   

    建议LZ,自己新建一个junit的单元测试,ApplicationContext context=new ClassPathXMLApplicationContext("bean.xml");User u =context.getBean("user"); bean.xml的配置文件<bean name="user" class="com.aaa.User" scope="singleton"></bean>或者是prototype的情况去试试。
    单列的话,不需要getBean就实例化
    prototype的话,需要getBean之后实例化!
      

  3.   

    老大  你没看完我的问题吧?我没用spring来生成bean啊 我用的是struts2自己来生成bean