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

JTA 深度历险 - 原理与实现

一、利用 JTA 处理事务1.1 什么是事务处理事务是计算机应用中不可或缺的组件模型,它保证了用户操作的原子性 ( Atomicity )、一致性 ( Consistency )、隔离性 ( Isolation ) 和持久性 ( Durabilily )。 关于事务最经典的示例莫过于信用卡转账:将用户 A 账户中的 500 元人民币转移到用户 B 的账户中,其操作流程如下: 将 A 账户中的金额...

详解 Spring 声明式事务

一、引言Spring的事务机制包括声明式事务和编程式事务。 编程式事务管理:Spring推荐使用 TransactionTemplate,实际开发中使用声明式事务较多。 声明式事务管理:将我们从复杂的事务处理中解脱出来,获取连接,关闭连接、事务提交、回滚、异常处理等这些操作都不用我们处理了,Spring都会帮我们处理。 声明式事务管理使用了 AOP 实现的,本质就是在目标方法执行前后进行拦截。...

SpringBoot 远程调试

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

探讨 Spring MVC 能否注入 Request 和 Response

一、引言当我们第一次接触到 Java Web 开发,从最原生的 Servlet 方法开始,我们就知道在 doGet() 或者 doPost() 方法有两个形参,分别是 HttpServletRequest 和 HttpServletResponse,这两个参数代表了 web 容器为我们封装的 HTTP 请求和 HTTP 响应。 当 Java Web 进化到 SpringMVC 中,一系列的杂活脏活...
Your browser is out-of-date!

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

×