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 interfa...

SpringBoot 配置 Logback

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

SpringBoot 配置国际化

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

Spring Validation 实现后端数据校验

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

WebSoket 初探并于 SpringBoot 整合

一、WebSocket 1.1 HTTP与WebSocket WebSocket 是一种网络通信协议。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

×