这100分不好拿啊。我还是留给别人来拿了把。哈哈。Spring 的,楼主可以去 SpringFramework中文论坛 去多看看啊。http://spring.jactiongroup.net/

解决方案 »

  1.   

    我做过多次测试,不但不影响性能。
    而且因为spring的正规代码化。
    自动的总比你手工管理的要严密一些。
    所以性能在实际的使用过程中还反而有了一点点的提高。
    其实理解起来并不难。
    因为如果每次读文件,都是严重的IO,是不可能的。
    所以SPRING读XML配置代码的过程只是启动的时候用。这个就不计算了。以接口来调用类,这个和用不用spring没有多在的关系,只是使代码更易管理罢了。那么,spring比其它的程序最大的出入就是,
    一个,
    new ClassConst()
    一个是
    Class...newInstance.
    而这一行你如果测试一下就明白了。
    支出90%取决于你的对象本身的大小。而spring对这些对象完全管理起来。
    使得真正的对象在内存中只有一份,
    当然,想每次都NEW,spring就NEW,
    而且对象的获取,释放这些都有了一个管家婆来管理了。那你想想。公司里没有财务的时候,省钱呢,
    还是花少部分工资请了一个财务人员来管理钱省钱呢???这个和用不用spring查不多。
    如果工程里的每一个类都是什么良好的代码,
    那多一个人,就是多一个人的工资。(性能有开销)但是只要有那么一个类不良好。用SPRING的成本就回来了。
      

  2.   

    其实,有些东西,你没法用实质这种东西来说,
    比如说,GOF的23个设计模式,其实质还是利用接口和抽象类来达到后期调用的意图,
    但是组合起来。竟然有了这许多的作用。spring也是一样。本质就是接口调类的时候,用的是类的东东。
    但是合理的用起来,又是完全另一种东西。
    如果说注入不注入,没有什么分别,那JAVA也用存在抽象类了,接口其实也没多少必要了。只有类就行了。
    反正,如果想用的时候,再COPY一次就是。但是实际的开发和设计人员如果没有接口和抽象类那是
    多么可怕的事情!!!但是这些东东的本质,也没什么有什么特别之处,
    spring就是这样,原理很简单。
    但是应用起来,却一点不简单。
    我用SPRING也有近两年的时间了。但是越来越发现,我不会用spring了。
    :)
      

  3.   

    依赖注入应该是在启动的时候将bean放在JVM持久内存中,不会有什么问题的
      

  4.   

    还有,我在学习Spring的过程中深刻地认识到Spring核心的基础在于两种设计模式,工厂模式和代理模式,工厂模式实现IOC,代理模式实现AOP,如果要确定某种情况是否符合Spring应用,那么最好的“评测工具”便是这两种设计模式。不知道本人的想法是否合乎道理?还请各位老师多多指教,万分感谢!!!!!!!
      

  5.   

    A.下面是本人考虑的Struts实现AOP的工作流程1.用户发出请求;
    2.ActionServlet接受用户请求;
    3.ActionServlet通过AOP代理去指定具体Action实现用户请求;
    4.AOP代理将结果送达客户端。B.例如一个登录流程1.用户用某个用户名登录;
    2.ActionServlet接受用户请求;
    3.ActionServlet通过AOP代理去执行校验Action中的方法以判断该用户名是否是合法用户;
    4.ApplicationContext容器将该用户名依赖注入进应用系统并根据用户名分配角色;
    5.AOP代理将结果送达客户端。现在本人有几个问题在A中第二步中,AOP代理应该可以通过依赖注入获得,那么,依赖注入能否自动获得,比如说一旦发现有新编译的方法立即注入?在A中第三步中,应该是由AOP代理去包装Action中的方法,那么,Action中的方法能否被包装,这需要哪些条件?在B中第四步中,可通过ServletRequest中的相关变量来确定,只要是同一个Request范围中的用户都按同一操作处理,例如一个用户数次用同一个用户名登录的话,如果关闭了浏览器,则一切信息丢失,如果不关闭浏览器或在同一个HTTP会话期内,则检查这个用户名是否与HttpServletRequest中的相关变量是否相等,那么,本人考虑了一下,如果是session,便意味着同一个HTTP会话中的Web组件共享它,如果一个用户原有添加功能,但现在被撤消了,如果还用session中的共享数据的话,势必会造成非法操作,而HttpServletRequest中的共享数据在同一个用户请求的Web组件中有效,因此会降低上面的风险,但本人认为B中第三步不应该通过HttpServletRequest中的共享数据来达到校验目的,因为一旦该用户名被视为非法,如果继续用HttpServletRequest中的共享数据进行校验的话势必会造成非法用户侵入应用系统,但如此反复地进行数据库操作可能会影响应用系统的整体性能,如果用ORM的话是否可以减轻这方面的负担,因为这样的话只要应用系统处于运行中数据库中的数据便可以随时映射到内存中。不知本人考虑的是否合理?多谢各位高人指点!!!!!!!