在前面SpringBoot的文章中介绍了SpringBoot的基本配置,今天我们将给大家讲一讲SpringBoot的运行原理,然后根据原理我们自定义一个starter pom. 本章对于后续继续学习SpringBoot至关重要,了解SpringBoot运行原理对于我们深入学习SpringBoot有着非常重要的作用. SpringBoot的自动配置从何而来 要想了解SpringBoot的自动配置,我们可以在源码看到相关代码和配置. SpringBoot关于自动配置的源码在spring-boot-a…
从阿里云新买的一台Linux服务器,用来部署SpringBoot应用,由于之前一直使用Debian版本,环境配置有所不同,也较为繁琐,本文主要介绍CentOS下配置SpringBoot环境的过程 新建用户 由于新拿到的机器只有root用户,用root用户直接进行各种操作会有一定的安全问题,所以我们先创建用户. 请参考这篇文章:创建新用户 安装Oracle Java 8 Spring Boot是基于Java的框架,所以我们首先要安装Java 8. 请参考这篇文章:安装JDK 8 安装MySql5.…
目录 1. 打可执行Jar包 2. 可执行Jar包内部结构 3. JarLauncher 4. 简单总结 5. 远程调试 Spring Boot有一个很方便的功能就是可以将应用打成可执行的Jar.那么大家有没想过这个Jar是怎么运行起来的呢?本篇博客就来介绍下Spring Boot可执行Jar包的运行原理. 1. 打可执行Jar包 将Spring Boot应用打成可执行Jar包很容易,只需要在pom中加上一个Spring Boot提供的插件,然后在执行mvn package即可. <build>…
背景: 使用Spring Boot开发的Web项目,打包生成了一个jar包,希望能部署在Windows服务器中 尝试: 1.Spring Boot生成的jar包,可以直接用java -jar运行,但是前提是需要登录用户,而且注销用户后会退出程序,所以不可信. 2.使用计划任务,写一个bat批处理文件,里面写java -jar运行程序,然后吧bat文件作为一个计划任务运行:结果可能是因为任务启动时,系统资源未准备好,所以没有成功. 最终方案: 使用winsw winsw是一个开源项目,程序以及源码…
概述 在Spring Boot 开篇-创建和运行一文中,介绍了如何创建一个Sprint Boot项目并且运行起来.但是运行的方式是在IDEA中直接Run起来的.还有另一中方式可以可以把Spring Boot程序运行起来,就是直接在命令行中执行jar包. 打成jar包 以往的WEB程序需要打成WAR包,部署到Tomcat上,而Spring Boot支持打包成JAR的形式,就算是JAR里面包含图片.页面等,也是支持的.另外使用JAR包的方式也方便部署到Docker上. 要想把Spring Boot打…
众所周知, spring boot打出的jar包可以通过 "java -jar xxx.jar"的方式来运行 但是在Linux中, 通过这个命令运行的话会占用该窗口, 当我们 Ctrl + C 退出窗口的同时会终止jar程序的运行 此时我们可以通过以下方式运行jar包: 新建sh文件 #!/bin/sh if [ -f "/root/jar/base.jar" ]; then java -jar /root/jar/base.jar >/root/out/ba…
Docker容器及Spring Boot微服务应用 1 什么是Docker 1.1 Docker的出现 问题一:项目实施环境复杂问题 传统项目实施过程中经常会出现“程序在我这跑得好好的,在你那怎么就不行呢?! ” 这是一个典型的应用场景,Docker image中包含了程序需要的所有的运行时依赖,比如java的程序,肯定要在image中包含jdk:比如Python的程序,肯定要在image中包含对应版本的Python解释器.Docker把整个运行时环境打包放到image中,所以搞定了环境依赖问题…
概述 还记得在10年毕业实习的时候,当时后台三大框架为主流的后台开发框架成软件行业的标杆,当时对于软件的认识也就是照猫画虎,对于为什么会有这么样的写法,以及这种框架的优势或劣势,是不清楚的,Spring中的AOP(面向切面编程)机制在软件开发中是很好的应用.一方面使开发业务逻辑更清晰.专业分工更加容易进行.另一方面就是应用Spirng  AOP隔离降低了程序的耦合性使我们可以在不同的应用中将各个切面结合起来使用大大提高了代码重用度.在后来一年的工作中,也确实感觉到采用Spring给我们开发和管理…
前言 一直在ide中敲代码,使用命令行mvn spring-boot:run或者gradlew bootRun来运行spring boot项目.想来放到prod上面也应该很简单.然而今天试了下,各种问题.最大错误是1.4的bug: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/Hi…
前言:本系列文章非本人原创,转自:http://tengj.top/2017/04/24/springboot0/ 正文 Spring Boot使用了一个全局的配置文件application.properties,放在src/main/resources目录下或者类路径的/config下.Sping Boot的全局配置文件的作用是对一些默认配置的配置值进行修改. 注:如果你的工程没有这个application.properties,那就在src/main/resources目录下新建一个. 自定…