`
grandsea
  • 浏览: 54820 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring原理和优缺点总结

阅读更多

用spring主要用其三个部分ioc、aop和spring mvc

 

ioc(Inversion Of control):

控制反转。

控制反转的目的是实现松耦合。在ioc出现之前我们会使用工厂模式和面向接口编程等方式实现对象的创建和使用分离,进而实现松耦合。

可以把spring的ioc中看成一个工厂,所有的对象在这个工厂里面被实例化,每一个对象都叫做一个bean,有依赖关系的bean会按照名字或者类型自动注入。这样得到的效果就是如果一个类要依赖一个接口,只需要声明这个接口作为自己的成员变量,在spring中这个类的对象创建的时候,而这个成员会由ioc查找并赋值,如此很好的实现了松耦合。

而且这个ioc容器足够强大,他可以管理所有的对象,在我们的代码里可以完全感受不到容器的存在。

 

aop:

面向切面编程主要目的是把一些公用的服务和功能抽象出来,使业务开发人员能够更好的集中精力处理业务逻辑,可以使业务代码的编写更加简洁明了。

spring aop的实现原理主要使用Java的动态代理或者CGLIB代理,通常用正则表达式声明一个切面,再声明一个advice(通知),然后将符合切面定义的bean和advice编制在一起形成一个新的对 象,这个新的对象再赋值给原来的bean,这样我们调用这个bean的时候实际上是调用他的代理,从而将业务逻辑和切面逻辑一起调用了。

用的比较多的切面有数据库事务切面、日志切面、安全切面等等。

 

spring mvc

主要实现模型和视图的分离,另外还有url的转发、request请求参数的拉取。

分享到:
评论

相关推荐

    三大框架的原理和优缺点.pdf

    Struts、Spring和Hibernate是Java开发中的三大主流框架,它们各自具有独特的原理和优缺点。 Struts框架是基于MVC设计模式的,旨在分离业务逻辑、视图展示和控制流程。其工作原理是,用户请求首先到达ActionServlet...

    Spring Data JPA的优点和难点.pdf

    总结来说,Spring Data JPA作为一个强大的ORM工具,能够显著提高开发效率,简化数据库操作。然而,要充分发挥其优势并克服潜在问题,开发者需要深入理解JPA的工作机制,合理调整查询策略,以及适当地与其他优化技术...

    SpringBoot中RestTemplate和WebClient的使用区别及优缺点含完整代码

    ### Spring Boot中RestTemplate和WebClient的使用区别及优缺点含完整代码 #### 一、引言 在Spring Boot框架中,开发人员经常需要与外部服务进行交互,无论是调用第三方API还是与其他微服务通信。为了实现这些需求...

    springcloud注册中心

    SpringCloud是微服务架构中的一个...Eureka、Consul和Zookeeper是常见的注册中心实现,各有优缺点,选择时需结合具体项目需求。在实际应用中,我们需要合理配置注册中心,利用其特性优化服务治理,提升系统整体性能。

    阿里云面试经验,详细记录所有面试题,分享个人面试心得

    * 消息中间件产品的优缺点和比较 * Spring Cloud熔断机制的介绍 六、数据库篇 * 锁机制的介绍:行锁、表锁、排他锁、共享锁 * 乐观锁的业务场景和实现方式 * 事务的介绍和分布式事务的解决方案 * MySQL记录binlog...

    spring整合hibernate

    6. Spring与Hibernate的优缺点 整合Spring和Hibernate后,开发人员可以专注于业务逻辑,而不必关心底层的数据库操作。然而,过度依赖这些框架可能会导致代码过于复杂,不易于理解和调试,因此在实际使用中需要权衡...

    spring 整合 struts 文档

    接下来我们将分别详细介绍这三种方法的具体实施步骤及其优缺点。 #### 二、通过Spring的ActionSupport类 这种方式是通过让Action类继承Spring的`ActionSupport`类来实现的。这种方式相对简单,但也存在一定的局限...

    两种方式通过spring实现定时执行任务操作

    两种方法各有优缺点。`TimerTask`适用于简单定时任务,配置相对简单,但不适合复杂的批处理场景。而`Spring Batch`的`Tasklet`适合大规模、有状态的批处理任务,具有更好的扩展性和事务管理能力。选择哪种方式取决于...

    spring aop

    六、Spring AOP的优缺点 优点: 1. 提高代码复用性,减少重复代码。 2. 降低系统复杂度,提高模块化程度。 3. 改善代码结构,使业务逻辑更清晰。 缺点: 1. 学习成本较高,需要理解AOP概念和Spring AOP的实现方式。...

    spring mvc_04

    尽管在现代Spring MVC应用中,我们通常会推荐使用基于注解的@Controller或@RestController,但理解MultiActionController的工作原理仍然对学习Spring MVC的历史和演进有所帮助。 **1. MultiActionController介绍** ...

    SSH 咯框架的原理

    SSH,全称是Struts2、Spring和Hibernate的组合,是一种经典的Java Web...随着Spring Boot等现代框架的崛起,SSH在新项目中的使用可能会减少,但理解SSH的工作原理和优缺点对于理解Web开发历史和演变仍然是有价值的。

    Java Spring2.5 Remote Invoke HTTP Invoker

    六、优缺点 优点: - **简单易用**:HTTP Invoker提供了与本地调用类似的API,降低了学习成本。 - **灵活性**:基于HTTP,可以跨平台、跨防火墙通信。 - **可扩展性**:可以与其他HTTP服务集成,如负载均衡、监控等...

    cas实现单点登录服务端及客户端

    5. CAS工作原理 - 用户首次访问受保护的资源时,会被重定向到CAS服务器进行身份验证。 - 在CAS服务器验证成功后,会返回一个服务票证(ST)给浏览器。 - 浏览器带着ST请求客户端应用,客户端应用会向CAS服务器...

    spring in action 第三版(英文)

    - JDBC模板、Hibernate集成、MyBatis集成等多种数据访问技术的应用场景及优缺点比较。 - 事务管理的实现机制及注意事项。 - JPA与Spring Data JPA的使用技巧。 5. **测试**: - 单元测试与集成测试的区别及重要...

    推荐算法03- 2015spring

    6. **讨论**:分析不同推荐算法的优缺点及适用场景。 7. **结论**:总结推荐系统的整体设计思路及其在实际应用中的表现。 ### 显式反馈下的推荐系统 在推荐系统中,显式反馈指的是用户对于物品的直接评分或评价。...

    java并发编程

    第9节Spring对并发的支持:Spring的异步任务00:11:10分钟 | 第10节使用jdk8提供的lambda进行并行计算00:14:22分钟 | 第11节了解多线程所带来的安全风险00:13:16分钟 | 第12节从线程的优先级看饥饿问题00:18:42...

    SSM框架总结.docx

    SSM框架与其他经典web框架的比较:SSM框架与Struts2框架、Hibernate框架等经典web框架相比,具有自己的优缺点。SSM框架的优点包括系统耦合度低、代码复用率高、系统安全性高、与数据库的交互更便捷、框架轻量级、易...

    java开发面试必问_自我总结.docx

    索引的类型(B树,哈希索引等)及其优缺点,存储过程和函数的使用场景和限制也是常问问题。 3. **电商篇**: 产品详情页的静态化可以提高加载速度,减少服务器压力。支付系统的设计涉及到安全性和交易流程。商品...

    Spring使用DriverManagerDataSource和C3P0分别配置MySql6.0.6数据源

    我们将从它们的基本概念、配置过程以及优缺点等方面进行详细阐述。 首先,`DriverManagerDataSource`是Spring提供的一个简单的数据源实现,它直接使用Java的`java.sql.DriverManager`来管理数据库连接。这种方式的...

Global site tag (gtag.js) - Google Analytics