摘要: 在使用 Spring 的过程中,有时候会出现一些 ClassNotFoundException 异常,这是因为 JAR 依赖之间的版本不匹配所导致的。而 Spring Boot 就能避免绝大多数依赖版本问题,我们先来了解下 Spring Boot 的特性。 SpringBoot 特性 Spring 阅读全文
posted @ 2019-08-23 15:54 MarkLogZhu 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 数据库的读写并发一直都是应用性能的瓶颈所在之一,针对改动频率很小的数据我们应该将他存放到缓存中,减少与数据库的交互。 启用对缓存的支持 Spring 对缓存的支持有两种方式: 注解驱动的缓存 XML 申明的缓存 为了避免繁琐的 XML 配置文件,我们这边只讲解注解驱动的形式。 <! more 启用缓 阅读全文
posted @ 2019-08-23 15:53 MarkLogZhu 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 除了关系型数据库之外,现在还有一种 NoSQL 数据库非常流行,而 Spring 自然也没有放过对它的支持。 NoSQL 数据库有很多种,如: MongoDBGenericJackson2JsonRedisSerializer Redis Membase 我们这里就重点讲解 Redis 。 注:这里 阅读全文
posted @ 2019-08-23 15:52 MarkLogZhu 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 对于本职工作来说 JDBC 就可以很好的完成,但是当我们对持久化的需求变得更复杂时,如: 延迟加载 预先抓取 级联 JDBC 就不能满足了,我们需要使用 ORM框架 来实现这些需求。 Spring 对多个持久化框架都提供了支持,包括 Hibemate 、 IBATIS 、 JPA 等。和 Sprin 阅读全文
posted @ 2019-08-23 15:51 MarkLogZhu 阅读(1215) 评论(0) 推荐(0) 编辑
摘要: JDBC 是数据持久化的一种比较常见的方案, Spring 也对它进行了支持。 在开始 JDBC 的使用之前,我们要先做下一些准备工作。 配置数据源 在 Spring 上下文中可以数据源 Bean 有如下多种方式: 通过 JDBC 驱动程序定义的数据源; 通过 JNDI 查找的数据源; 连接池的数据 阅读全文
posted @ 2019-08-23 15:50 MarkLogZhu 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 在之前的 "Spring学习之旅(八) SpringMVC请求参数" 我们是通过在控制台输出来验证参数是否正确,但是这样做实在是太耗时间了,我们今天来学习下 MockMvc,它可以让我们不需要启动项目就能调用接口并验证接口返回结果是否符合我们的预期。 为何使用MockMvc? MockMvc 实现了 阅读全文
posted @ 2019-08-23 15:49 MarkLogZhu 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 文件上传 在 Web 应用中,允许用户上传文件是很常见的需求。文件上传通常是采用 multipart 格式,而 DispatcherServlet 并没有任何解析 multipart 请求数据的功能,它将这个解析的任务委托给了 Spring 中的 MultipartResolver 策略接口的实现, 阅读全文
posted @ 2019-08-23 15:48 MarkLogZhu 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 现在我们已经完成了一个无参的接口了,但是应用中有很多需要携带参数的场景,我们来看看 SpringMVC 对它的支持。 参数绑定 SpringMVC 提供了一种绑定机制,通过这个机制可以从请求中提取数据,然后将数据转换为预定义的数据格式,最后映射到一个模型类,从而创建一个对象。该实现机制只需请求参数名 阅读全文
posted @ 2019-08-23 15:47 MarkLogZhu 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 在之前的实例中我们只是在 Controller 中返回了 home 字符类型的值,而没有直接生成可以在浏览器中直接渲染的 HTML ,这是因为 SpringMVC 将请求处理的逻辑和视图渲染的实现进行了解偶。 Controller 返回视图名称,视图解析器进行视图的渲染。 SpringMVC 定义了 阅读全文
posted @ 2019-08-23 15:46 MarkLogZhu 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 对大多数 Java 开发来说,基于 web 的应用程序是我们主要的关注点。 Spring 也提供了对于 web 的支持,基于 MVC 模式的 Spring MVC 能够帮助我们灵活和松耦合的完成 web 应用程序。 Spring MVC 处理流程 第一步:发起请求到前端控制器(DispatcherS 阅读全文
posted @ 2019-08-23 15:40 MarkLogZhu 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 什么是 AOP AOP(Aspect OrientedProgramming,面向方面编程),可以说是 OOP(Object Oriented Programing,面向对象编程)的补充和完善。 OOP 引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散 阅读全文
posted @ 2019-08-23 15:37 MarkLogZhu 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 条件化 bean 有时候我们要满足某种情况才将bean 初始化放入容器中。 基于环境初始化不同的 bean 1.申明接口并创建两个实现类 <! more 2.JavaConfig 显式装配两个实现类 注:可以看到两个 bean 都取名为 teacher ,但是 @Profile 值不同。 3.单元测 阅读全文
posted @ 2019-08-23 15:35 MarkLogZhu 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 装配 Bean 的方式 在 XML 中进行显式配置 在 Java 中进行显式配置 隐式的 Bean 发现机制和自动装配 Spring 提供了以上三种方式进行 Bean 的配置,可以根据自己的需求选择一种或者混合使用。但是我的个人建议还是尽可能的使用自动配置机制,毕竟显式的配置越少越方便。但如果必须要 阅读全文
posted @ 2019-08-23 15:32 MarkLogZhu 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 在 Spring 应用中,所有的对象都在 Spring 容器(container) 里,容器负责对象的创建、配置、装配并管理它们的整个生命周期。 Spring 容器 Spring 容器 并不是只有一个, Spring 自带了多个容器的实现,可以归为两种不同的类型: bean 工厂(org.sprin 阅读全文
posted @ 2019-08-23 15:29 MarkLogZhu 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 之前从博客、视频断断续续的学到了 Spring 的相关知识,但是都是一个个碎片化的知识。刚好最近在读 《Sprign实战(第四版)》,所以借此机会重新整理下Spring 系列的内容。 Spring 是什么? Spring 是一个开源框架,它由 Rod Johnson 创建。它是为了解决企业应用开发的 阅读全文
posted @ 2019-08-23 15:25 MarkLogZhu 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 什么是 logback? 是由 创始人设计的又一个开源日志组件。 当前分成三个模块: logback core logback classic logback access。 是其它两个模块的基础模块。 是 的一个改良版本。此外 完整实现 使你可以很方便地更换成其它日志系统如 或 。`logback 阅读全文
posted @ 2019-08-23 15:22 MarkLogZhu 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 这两天在跟友商对接接口,在对外暴露接口的时候,因为友商不需要登录即可访问对于系统来说存在安全隐患,所以需要友商在调用接口的时候需要将数据加密,系统解密验证后才执行业务。所有的加密方式并不是万能的,只是增加了破解的成本高低而已~~ <! more java import javax.crypto.Ci 阅读全文
posted @ 2019-08-23 15:20 MarkLogZhu 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 什么是 Lombok? Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。 "官方地址" "github地址" <! more Lombok 的安装 添加依赖 添加 IDEA 插件 常用注解 阅读全文
posted @ 2019-08-23 15:18 MarkLogZhu 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 问题描述 表单使用 方式提交数据,后台打印不出来参数 的值,在浏览器地址栏中也不显示值,地址栏显示如下: 使用 POST 方式地址栏就能显示参数 method <! more 问题原因 表单提交时 是把参数数据队列加到提交表单的 属性所指的 中,值和表单内各个字段一一对应,在 中可以看到。自己添加的 阅读全文
posted @ 2019-08-23 15:13 MarkLogZhu 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 问题现象 执行存储过程返回 Map 集合数据,发现有字段丢失情况,仔细研究发现丢失的字段值都为 NULL。 <! more 解决办法1: 在查询 SQL 语句中增加 NULL 判断函数 解决办法2: 在 配置文件中增加如下配置: 阅读全文
posted @ 2019-08-23 15:08 MarkLogZhu 阅读(1944) 评论(0) 推荐(0) 编辑