spring基本认识

来源:互联网 发布:js array to json 编辑:程序博客网 时间:2024/06/15 18:50

1.Spring框架

   Spring框架的成功来源于理念,而不是技术本身,它的理念包括IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)

1.1 Spring IoC

    Ioc是一个容器,在Spring中,它会认为一切Java资源都是Java Bean,容器的目标就是管理这些Bean和它们之间的关系。

    Spring IoC 管理对象和其依赖关系采用的不是人为的主动创建,而是由Spring IoC自己通过描述创建的,也就是说Spring是依靠描述来完成对象的创建及其依赖关系的。

    在Spring IoC中,所有类的创建、销毁都由Spring来控制,也就是说控制对象生命周期的不再是引用他的对象,而是Spring。你不需要去找资源,只要向Spring IoC容器描述所需资源,那么Spring IoC会自己找到你所需要的资源,这样Bean之间的依赖关系解耦了。

   好处,接口不再依赖于某个实现类,需要使用某个实现类时我们通过配置信息就可以完成了。

   举例:接口Socket,其中有两个方法,m1()和m2()。而该接口的实现类有两个,socketImpl1、socketImpl2,在spring的xml配置中配置 

<bean id="socket1",class="com.xxx.socketImpl1"/>

 <bean id="socket2",class="com.xxx.socketImpl2"/>

那么当你想用socketImpl1实现类中的m1()方法的时候,不需要new了,直接获取bean

ApplicationContext ctx=new ClassPathXmlApplicationContext(spring.xml);

Socket socket=(Socket)ctx.getBean("socket1");

socket.m1();


1.2 Spring AOP

   AOP是通过动态代理模式,来管控各个对象操作的切面环境,管理包括日志、数据库事务等操作,让我们拥有在反射原有对象方法之前正常返回、异常返回事后插入自己的逻辑代码的能力,有时候甚至取代原有方法。在一些常用的流程中,比如数据库事务,AOP会提供默认的实现逻辑,也会提供一些简单的配置,程序员能够方便的修改默认的实现,达到符合真实应用的效果,大大降低开发的工作量,提高代码的可用性和可维护性,将开发集中在业务逻辑上。

关于AOP的具体应用将在以后的学习记录中体现。



    

   

   

   

  


原创粉丝点击