当前位置:首页>开发>正文

Spring有什么好处 spring mvc有什么好处

2023-04-16 15:53:19 互联网 未知 开发

 Spring有什么好处 spring mvc有什么好处

Spring有什么好处?

在SSH框假中spring充当了管理容器的角色。我们都知道Hibernate用来做持久层,因 为它将JDBC做了一个良好的封装,程序员在与数据库进行交互时可以不用书写大量的SQL语 句。Struts是用来做应用层的,他它负责调用业务逻辑serivce层。所以SSH框架的流程大致 是:Jsp页面----Struts------Service(业务逻辑处理类)---Hibernate(左到右)struts 负责控制Service(业务逻辑处理类),从而控制了Service的生命周期,这样层与层之间的 依赖和强,属于耦合。这时,使用spring框架就起到了控制Action对象(Strus中的)和 Service类的作用,两者之间的关系就松散了,Spring的Ioc机制(控制反转和依赖注入)正 是用在此处。 Spring的Ioc(控制反转和依赖注入) 控制反转:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直 接操控。 依赖注入:组件之间的依赖关系由容器在运行期决定 ,由容器动态的将某种依赖关系注 入到组件之中。 从上面我们不难看出:从头到尾Action仅仅是充当了Service的控制工具,这些具体的 业务方法是怎样实现的,他根本就不会管,也不会问,他只要知道这些业务实现类所提供的 方法接口就可以了。而在以往单独使用Struts框架的时候,所有的业务方法类的生命周期, 甚至是一些业务流程都是由Action来控制的。层与层之间耦合性太紧密了,既降低了数据访 问的效率又使业务逻辑看起来很复杂,代码量也很多。,Spring容器控制所有Action对象和 业务逻辑类的生命周期,由与上层不再控制下层的生命周期,层与层之间实现了完全脱耦, 使程序运行起来效率更高,维护起来也方便。 使用Spring的第二个好处(AOP应用): 事务的处理: 在以往的JDBCTemplate中事务提交成功,异常处理都是通过Try/Catch 来完成,而在 Spring中。Spring容器集成了TransactionTemplate,她封装了所有对事务处理的功能, 包括异常时事务回滚,操作成功时数据提交等复杂业务功能。这都是由Spring容器来管理, 大大减少了程序员的代码量,也对事务有了很好的管理控制。Hibernate中也有对事务的管 理,hibernate中事务管理是通过SessionFactory创建和维护Session来完成。而Spring对 SessionFactory配置也进行了整合,不需要在通过hibernate.cfg.xml来对 SessionaFactory进行设定。这样的话就可以很好的利用Sping对事务管理强大功能。避免 了每次对数据操作都要现获得Session实例来启动事务/提交/回滚事务还有繁琐的 Try/Catch操作。这些也就是Spring中的AOP(面向切面编程)机制很好的应用。一方面使 开发业务逻辑更清晰、专业分工更加容易进行。另一方面就是应用Spirng AOP隔离降低了 程序的耦合性使我们可以在不同的应用中将各个切面结合起来使用大大提高了代码重用度。

spring mvc有什么好处

springmvc是一个轻量级的MVC框架,性能优越,支持IOC和AOP,同时支持持久层框架,方便开发者使用
springmvc还突出了http请求和响应的特性,该框架中,用户的每一个请求都声明了一个需要执行的动作.而这主要是通过URL映射到一个可执行的方法进行实现,同时还将请求参数映射到了对应的方法参数中.
springmvc还提供了一种绑定机制.通过该机制从用户请求中提取数据,然后将数据转换为预定义的格式,最后映射到一个模型类,从而创建一个对象.
springmvc是视图不可知的,它并没有规定你的视图必须是哪种,我们可以通过配置文件进行灵活的配置
springmvc还是非侵入式的,因为业务逻辑代码和框架本身是相分离的.

Spring中的IOC容器比New对象的好在哪里

如果new对象,需要自己管理对象的可见性,是单例还是非单例,Spring的IOC是一个工具,避免了这个管理上的麻烦。

这篇文章讲的得不错:https://blog.csdn.net/c513063286/article/details/71516886

请你谈谈对spring的理解?

1.解释spring的ioc? 几种注入依赖的方式?spring的优点? IOC你就认为他是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是有这个IOC容器进行产生,同时,要是产生的是单例的bean,他还可以给管理bean的生命周期! spring的IOC有三种注入方式 : 第一是根据属性注入 也叫set方法注入; 第二种是根据构造方法进行注入; 第三种是根据注解进行注入,这种方式我认为比较好,方便,要是bean多的话,使用前两种方式会使得配置文件过于臃肿。 Spring的优点:主要是根据它的IOC和AOP体现的。我感觉他就是把我们以前用到的工厂模式和代理模式进行了一个封装。 IOC主要是解决了代码的耦合性问题,而AOP是面向切面编程的最好解释!2.解释Spring中IOC, DI, AOP ioc就是控制翻转或是依赖注入。通俗的讲就是如果在什么地方需要一个对象,你自己不用去通过new 生成你需要的对象,而是通过spring的bean工厂为你长生这样一个对象。 aop就是面向切面的编程。比如说你每做一次对数据库操作,都要生成一句日志。如果,你对数据库的操作有很多类, 那你每一类中都要写关于日志的方法。但是如果你用aop,那么你可以写一个方法,在这个方法中有关于数据库操作的方法, 每一次调用这个方法的时候,就加上生成日志的操作。3.spring的ioc/aop/代理 ioc是控制反转,是spring的核心思想。通过面向接口编程来实现对业务组件的动态依赖。 aop是面向切面编程,它并不是只在spring或者java中才有的,它和面向对象编程(oop)是相对而言的另一种编程思想。 spring在实现aop编程时利用的是java的代理机制。 个人觉得java代理机制真的是很神奇。核心内容并不多4.spring的ioc是解耦,aop是干什么的 AOP面向切面编程 将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。 比如: 很多方法可能会抛异常,你要记录这个异常到日志中去,可以写个拦截器类,在这个类中记录日志, 在spring.xml中配置一个对这些要记录日志的方法的aop拦截器 在这个方法执行后调用这个拦截器,记录日志。 这样就不用每次抛异常都要手动记录日志。 spring的事务管理用到的就是aop 这样也可以提高程序的内聚性。5.讲解一下Java中Spring中IOC和AOP IoC:说直白点,就是通过配置文件(XML或.properties)指定需要实例化的JAVA类(类名的完整字符串), 包括该JAVA类的一组初始化值,然后我们在代码中加载该配置文件,然后通过 .getBean() 函数就可以得到一个该JAVA类的对象, 并且该对象已经根据配置文件中指定的属性值进行了初始化。 AOP:这个比IoC更简单,直白点说就是实现调用某个方法之前或/和之后,自动执行一系列自定义的语句6.简述Spring框架中IOC和AOP IOC:控制反转,是一种设计模式。一层含义是控制权的转移:由传统的在程序中控制依赖转移到由容器来控制; 第二层是依赖注入:将相互依赖的对象分离,在spring配置文件中描述他们的依赖关系。他们的依赖关系只在使用的时候才建立。 AOP:面向切面,是一种编程思想,OOP的延续。将系统中非核心的业务提取出来,进行单独处理。比如事务、日志和安全等。 Spring 的AOP和IOC都是为了解决系统代码耦合度过高的问题。使代码重用度高、易于维护。 不过AOP和IOC并不是spring中特有的,只是spring把他们应用的更灵活方便 。

最新文章

随便看看