摘要: 本节介绍Spring应用程序的集成测试。 一、概述 能够在不需要部署到应用程序服务器或连接到其他企业基础设施的情况下执行某些集成测试是很重要的。这样做可以测试以下内容: spring IoC容器上下文的正确连接。 使用JDBC或ORM工具进行数据访问。这可以包括SQL语句的正确性、Hibernate 阅读全文
posted @ 2020-07-14 22:42 codedot 阅读(1685) 评论(0) 推荐(0) 编辑
摘要: 真正的单元测试通常运行得非常快,因为不需要设置运行时基础设施。然而,对于某些单元测试场景,Spring框架提供了模拟对象和测试支持类。 ♠ 单元测试的浅显理解 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条 阅读全文
posted @ 2020-07-14 22:41 codedot 阅读(1004) 评论(0) 推荐(0) 编辑
摘要: Spring是基于事件驱动模型的,事件驱动模型也就是我们常说的观察者,或者发布-订阅模型。 Spring 的事件角色的类图如下: spring中的这些接口和抽象类: ApplicationEventPublisherAware:接口,用来发布事件 ApplicationEvent :抽象类,用来定义 阅读全文
posted @ 2020-07-14 22:40 codedot 阅读(1114) 评论(0) 推荐(0) 编辑
摘要: 从3.1版开始,Spring框架透明地向现有Spring应用程序添加缓存的支持。与事务支持类似,缓存抽象允许一致地使用各种缓存解决方案,对代码的影响最小。 从spring4.1开始,通过JSR-107注解和更多定制选项的支持,缓存抽象得到了显著的扩展。 一、理解抽象缓存 缓存与缓存区 “缓冲区”和“ 阅读全文
posted @ 2020-07-14 22:37 codedot 阅读(140) 评论(0) 推荐(0) 编辑
摘要: Spring中的JMX(Java管理扩展)支持提供了一些特性,使你能够轻松、透明地将Spring应用程序集成到JMX基础设施中。 具体来说,Spring的JMX支持提供了四个核心功能: 将任何Spring Bean自动注册为 JMX MBean。 控制bean管理接口的灵活机制。 通过远程JSR-1 阅读全文
posted @ 2020-07-14 22:26 codedot 阅读(804) 评论(0) 推荐(0) 编辑
摘要: Spring提供了一个JMS集成框架,简化了JMS API的使用,其方式与Spring对JDBC API的集成基本相同。 JMS可以大致分为两个功能领域,即消息的生成和消费。JmsTemplate类用于消息生成和同步消息接收。 Spring提供了许多消息侦听器容器,你可以使用它们来创建消息驱动POJ 阅读全文
posted @ 2020-07-14 22:24 codedot 阅读(1467) 评论(0) 推荐(0) 编辑
摘要: 一、Websocket介绍 WebSocket协议,RFC 6455,提供了一种标准化的方法,通过单个TCP连接在客户端和服务器之间建立一个全双工双向通信通道,它是一种不同于HTTP的TCP协议,但被设计用于HTTP之上,使用端口80和443并允许重用现有的防火墙规则。 WebSocket交互从HT 阅读全文
posted @ 2020-07-14 22:11 codedot 阅读(1033) 评论(0) 推荐(0) 编辑
摘要: 一、Hibernate 从Spring Framework 5.0开始,Spring需要Hibernate ORM 4.3或更高版本来支持JPA,甚至需要Hibernate ORM5.0+来针对本机Hibernate会话API进行编程。请注意,Hibernate团队不再维护5.1之前的任何版本。 引 阅读全文
posted @ 2020-07-14 22:07 codedot 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 前言 需要引入Spring JDBC模块 <!--Spring JDBC--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.ver 阅读全文
posted @ 2020-07-14 22:05 codedot 阅读(876) 评论(0) 推荐(0) 编辑
摘要: 全面的事务支持是使用Spring框架的最有说服力的原因之一。Spring框架为事务管理提供了一致的抽象,它提供了以下好处: 跨不同事务API的一致编程模型,如Java Transaction API (JTA)、JDBC、Hibernate和Java Persistence API (JPA)。 支 阅读全文
posted @ 2020-07-14 22:03 codedot 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 一、什么是AOP 面向切面编程(AOP) 是一种编程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各个层次的对象,而面向切面编程是将程序抽象成各个切面。 从该图可以很形象地看出,所谓切面,相当于应用对象间的横切点,我们可以将其单独抽象为单独的模块。 为什么需要AOP 想象下面的场 阅读全文
posted @ 2020-07-14 21:59 codedot 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 一、Spring IoC简单介绍 IoC 概念 应用控制反转,对象在创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用,传递给它。也可以说,依赖注入到对象中。所以,控制反转是,关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。 控制反转(Inversion of Cont 阅读全文
posted @ 2020-07-14 21:57 codedot 阅读(151) 评论(0) 推荐(0) 编辑
摘要: Spring也有自己的EL,叫Spring Expression Language,简称SpEl。其可以在程序中单独使用,也可以在Spring应用中进行bean定义时使用。其核心是org.springframework.expression.Expression接口,Spring使用该接口来表示EL 阅读全文
posted @ 2020-07-14 21:53 codedot 阅读(2433) 评论(0) 推荐(0) 编辑
摘要: Java标准的java.net.URL主要用于各种URL前缀的类和标准处理程序,但是不足以满足对低级资源的所有访问。例如,没有标准化的URL实现可以用来访问类路径或相对于ServletContext的资源。虽然可以为专门的URL前缀注册新的处理程序(类似于http:)等前缀的现有处理程序,但这通常相 阅读全文
posted @ 2020-07-14 21:50 codedot 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 前面已经讲过,如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对.js,*.jpg的访问也就被拦截了。下面就讲一讲在注解版中怎么解决这个问题呢? webapp的目录结构 index.jsp内容: <%@ page contentType="text/html;charse 阅读全文
posted @ 2020-07-14 12:19 codedot 阅读(307) 评论(0) 推荐(0) 编辑