SpringBoot 普通 jar 与可执行 jar

前两天被人问到这样一个问题: “为什么我的 Spring Boot 项目打包成的 jar ,被其他项目依赖之后,总是报找不到类的错误?” 大伙有这样的疑问,就是因为还没搞清楚可执行 jar 和普通 jar 到底有什么区别?今天就和大家来聊一聊这个问题。 多了一个插件Spring Boot 中默认打包成的 jar 叫做 可执行 jar,这种 jar 不同于普通的 jar,普通的 jar 不可以通过 ...

Maven filter 实现 SpringBoot 多环境配置

一、前言当我们正式开始工作生涯后,最先发现商业项目和我们自己写的项目的不同之一就是:怎么这么多配置文件啊!! 就按照最普遍的:开发、测试、预发(仿真)和线上来说,一个项目就至少有四套配置了,那么我们到底要如何配置多环境呢? 二、Multiple Application目前使用比较多的是配置多个 application-{profile}.yml 文件的写法,一张图就能解释清楚了,如下图所示。 首...

SpringBoot 条件注解

一、引言当我们使用 SpringBoot 进行开发时,会引入许多的 starter 包,引入后就会为我们做一些自动化配置,省去了大量配置的时间,快速开发。 以 Redis 为例,当我们引入 Redis 的 starter 包时: 1234 <dependency> <groupId>org.springframework.boot</groupId> &...

SpringBoot 远程调试

在配合 QA 进行代码测试,以及处理线上 BUG 时,代码往往已经被部署于服务器端,因此服务器端程序支持远程调试功能就尤为重要。 Java 原生支持调试功能,由于实际开发中使用 SpringBoot,因此本文探讨基于 jar 包的调试,远程调试的 IDE 为 IDEA。 注: war 包调试、Eclipse 远程调试功能请另行了解,这不在本文的探讨范围内。 一、调试命令最为常见的远程调试命令,也是...

SpringBoot 整合 AOP

一、前言AOP(Aspect Oriented Programming, 面向切面编程),是 Spring 的核心思想之一,即纵向重复,横向抽取,它在 Spring 中应用广泛,例如 拦截器、日志、事务等等,在 SpringBoot 中使用 AOP 之前,我们先复习下 AOP 的理论知识。 二、AOP 理论2.1 术语解释为了方便解释,给出一个例子: 123456public interface ...

SpringBoot 配置 Logback

一、前言SLF4J(Simple Logging Facade For Java), 它是针对各类 Java 日志框架的同一抽象,即日志门面。Java 的日志框架众多,SLF4J定义了统一的日志抽象接口。 默认情况下,SpringBoot 采用 Logback 来记录日志,并输出 INFO 级别日志到控制台。从下图可以看到,spring-boot-stater 的依赖中已经包含了 Logback,...

SpringBoot 配置国际化

一、LocaleResolver国际化的支持中一个重要的类是 LocaleResolver,它提供了四种默认实现: AcceptHeaderLocaleResolver 没有任何具体实现,通过浏览器头部的语言信息来进行多语言选择。 FixedLocaleResolver 设置固定的语言信息,这样整个系统的语言是一成不变的,用处不大。 CookieLocaleResolver 将语言信息设置到 C...

Spring Validation 实现后端数据校验

前言Web开发中JS校验可以涵盖大部分的校验职责,如用户名唯一性,生日格式,邮箱格式校验等等常用的校验。但是为了避免用户绕过浏览器,服务端的数据校验也是必要的,可以防止脏数据落到数据库中,本文将要介绍的Validation 来对数据进行校验。 简单叙述下 JSR303/JSR-349,Hibernate Validation,Spring Validation 之间的关系。 JSR303 是一项标...

WebSoket 初探并于 SpringBoot 整合

一、WebSocket1.1 HTTP与WebSocketWebSocket 是一种网络通信协议。RFC6455 定义了它的通信标准。WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 我们知道,HTTP 协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信请求只能由客户端发起,服务端对请求做出应答处理。 这种通信模型有一个弊端:...

Java Web 中接入支付宝支付

注:因为没有企业账号,所以本篇文章为沙箱环境中,但是其逻辑和真实环境是一样的。 接入支付宝的步骤大致如下: 申请一个沙箱环境 生成签名,并在沙箱环境中设置好签名 下载官方的SDK结合API学习后开发 申请沙箱环境的网址是:沙箱环境 签名工具及它的使用方法的链接是:签名工具 官方的API链接是:API 官方的Demo是: Demo For Java 我自己写好了一个Demo,注释丰富,...
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×