SPRING框架的理解
来源:百度知道 编辑:UC知道 时间:2024/05/15 02:03:14
我是做J2EE开发的,用到了SPRING,最近才开始整理一些开发心得.请高手指点一下,我说的对不对..
SPRING应该是一种集合的框架,并不是为J2EE开发的,它的核心可能在与IOC.
1.IOC我不太明白,可能意思是让不同组件更加独立,我碰上的J2EE用到的就是那种不同层次的调用,比如SERVICE层调用DAO层的对象?而且是调用者用的是接口并且进行SET方法,而在配置文件中通过具体实现类给注入进去,当然用三种IOC方法,但是一般SPRING推荐开发都用这种吧..还是不太理解IOC到底为何好呢?在SERVICE层直接new实现类具体的坏处是什么?如果要更改则需要重新编译??而且有时候经常看见调用的时候用了BEANFACTORY(调用BEAN的名字)这样的方法来调用,这个是不是也破坏了结构呢??
2.除了IOC,可能就是AOP,方面编程,不太理解,可能是说有一个事件每次都要有如下步骤,然后就集成一起开发,节省代码效率??希望通俗说下..
3.至于核心可能是所谓的APPLICATIONCONTEXT.XML了,将需要定义的BEAN关系和AOP都申明进XML里了,至于这个东西,应该是和WEB服务器无关的东西.甚至是不在WEB.XML申明关于SPRING都可以,因为它没有专门的SERVLET进行处理.假设不申明APPLICATIONCONTEXT.XML进去监听,那么就只是无法进行IOC的注入,但是并不影响用BEANFACTORY直接从配置文件里找到需要的类...是不是可以这样理解呢?
4.关于其他的部分,SPRING可能有六七个部分吧,上面的XML可能是核心部分,那剩下的部分,是不是各个的核心则为一些方法函数,比如DAO层就有方便抽象HIBERNATE的对象函数,这样可以更加好的抽象出这些方法..是不是作用也仅在更方便的书写方便的函数呢??
问的比较乱,高手来指点一下吧..
忘记给悬赏了..大家继续补充吧..就是说直接NEW的话要管理生命周期那些麻烦东西,现在用SPRING则直接会销毁?节省资源?那么..相当于..类A如果里面NEW个B,如果是直接NEW,则资源存在时间更长,如果是用SPRING则调用完毕了就DESTORY?
SPRING应该是一种集合的框架,并不是为J2EE开发的,它的核心可能在与IOC.
1.IOC我不太明白,可能意思是让不同组件更加独立,我碰上的J2EE用到的就是那种不同层次的调用,比如SERVICE层调用DAO层的对象?而且是调用者用的是接口并且进行SET方法,而在配置文件中通过具体实现类给注入进去,当然用三种IOC方法,但是一般SPRING推荐开发都用这种吧..还是不太理解IOC到底为何好呢?在SERVICE层直接new实现类具体的坏处是什么?如果要更改则需要重新编译??而且有时候经常看见调用的时候用了BEANFACTORY(调用BEAN的名字)这样的方法来调用,这个是不是也破坏了结构呢??
2.除了IOC,可能就是AOP,方面编程,不太理解,可能是说有一个事件每次都要有如下步骤,然后就集成一起开发,节省代码效率??希望通俗说下..
3.至于核心可能是所谓的APPLICATIONCONTEXT.XML了,将需要定义的BEAN关系和AOP都申明进XML里了,至于这个东西,应该是和WEB服务器无关的东西.甚至是不在WEB.XML申明关于SPRING都可以,因为它没有专门的SERVLET进行处理.假设不申明APPLICATIONCONTEXT.XML进去监听,那么就只是无法进行IOC的注入,但是并不影响用BEANFACTORY直接从配置文件里找到需要的类...是不是可以这样理解呢?
4.关于其他的部分,SPRING可能有六七个部分吧,上面的XML可能是核心部分,那剩下的部分,是不是各个的核心则为一些方法函数,比如DAO层就有方便抽象HIBERNATE的对象函数,这样可以更加好的抽象出这些方法..是不是作用也仅在更方便的书写方便的函数呢??
问的比较乱,高手来指点一下吧..
忘记给悬赏了..大家继续补充吧..就是说直接NEW的话要管理生命周期那些麻烦东西,现在用SPRING则直接会销毁?节省资源?那么..相当于..类A如果里面NEW个B,如果是直接NEW,则资源存在时间更长,如果是用SPRING则调用完毕了就DESTORY?
IoC的好处,根本是在于解除了互相间的依赖
当项目规模较小的时候,并不能感觉到这点好处。new一个对象出来也是一样,但这样,就把自己绑定在这行代码之上了,代码的扩展性很低。
举个例子,userDAO,如果我希望能够很方便在数据库和LDAP中切换,或者和不同的外部系统整合,总不希望,对一个类不停的反复修改,或着让接口多带一个毫无用处的参数吧
这样的好处更是在测试中大大提现出来,解藕之后的单元测试才能真正起到作用,否则如果都和服务器绑在一起,测试将是相当困难的
当然不是三言两语能讲清楚的,还是自己多实践领悟一下吧。
IoC(控制反转)
对象被动接收依赖类而不是自己主动去找,即由 spring 来负责控制对象的生命周期和对象间的关系。
控制反转(Inversion of Control)
所有的类都会在spring容器中登记,告诉spring你是个什么,你需要什么,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的类。所有的类的创建、销毁都由spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。
SPRING框架的理解
使用spring框架的好处和不足?
目前的主流框架是JSF+Spring+Hibernate好,还是Structs+Spring+Hibernate框架好?
j2ee设计框架(MVC,STRUTS,SPRING)的区别?
请教J2EE中Struts(Spring,Struts2)框架方面的问题
Spring框架中ServletRequestUtil类
谁知道学习j2ee框架(struts+hibernate+spring)的好书高手帮我推荐几本
Spring框架中ServletRequestUtil类 急急急,在线等,第一个答的马上给分
Spring框架中ServletRequestUtil类 急急急,第一个答的马上给分
drupal框架和开发语言有关吗?可以在2EE的 spring框架中使用和管理drupal框架吗?