Spring Boot 初始化运行特定方法】的更多相关文章

Spring Boot提供了两种 “开机自启动” 的方式,ApplicationRunner和CommandLineRunner 这两种方式的目的是为了满足,在容器启动时like执行某些方法.我们可以通过实现ApplicationRunner或者CommandLineRunner来实现,他们都是在SpringAppliaction执行之后开始执行的.这个特性可以让我们自定义一些在容器启动时需要初始化的逻辑 ApplicationRunner接口: 官方doc: Interface used to…
了解如何使用Spring Boot和AspectJ实现方法跟踪基础结构!最近在优锐课学习收获颇多,记录下来大家一起进步! 在我们的应用程序中,获取方法的堆栈跟踪信息可能会节省很多时间.具有输入输出参数值和方法所花费的时间可以使查找问题变得更加容易.在本文中,我们将研究如何使用Spring Boot,AspectJ和Threadlocal为方法跟踪基础结构实现起点. 在此示例中,我使用了: Spring Boot Starter Web 2.1.7 Java 1.8 + AspectJ 1.8 M…
初始化spring boot项目的方式非常多,如使用Spring Tool Suite.使用IntelliJ IDEA.使用NetBeans.在start.spring.io网站中.curl命令.spring boot命令等等.考虑到国人使用IntelliJ IDEA和start.spring.io网站最多,下面就以这两种方式详细讲解下spring boot初始化项目过程,其它方式大家可以自行尝试. start.spring.io网站方式 浏览器中访问网址:https://start.sprin…
将Spring Boot项目运行在Docker上 一.使用Dockerfile构建Docker镜像 1.1Dockerfile常用指令 1.1.1ADD复制文件 1.1.2ARG设置构建参数 1.1.3CMD容器启动命令 1.1.4COPY复制文件 1.1.5ENTRYPOINT入口点 1.1.6ENV设置环境变量 1.1.7EXPOSE声明暴露的端口 1.1.8FROM指定基础镜像 1.1.9LABEL为镜像添加元数据 1.1.10MAINTAINER 指定维护者的信息 1.1.11RUN执行…
今天用VS Code打开之前基于IDEA搭建并开发的Spring Boot项目,启动调试后出现如下错误: 17:43:05.214 [restartedMain] ERROR org.springframework.boot.SpringApplication - Application run failed java.lang.IllegalStateException: Failed to load property source from location 'classpath:/appl…
概述 生产环境中的服务可能会出现各种问题,但总不能让服务下线来专门排查错误,这时候最好有一些手段来获取程序运行时信息,比如 接口方法参数/返回值.外部调用情况 以及 函数执行时间等信息以便定位问题.传统的日志记录方式的确可以,但有时非常麻烦,甚至可能需要重启服务,因此代价太大,这时可以借助一个牛批的工具:BTrace ! BTrace 可用于动态跟踪正在运行的 Java程序,其原理是通过动态地检测目标应用程序的类并注入跟踪代码 ( "字节码跟踪" ),因此可以直接用于监控和追踪线上问题…
用Spring Boot默认支持的 Scheduler来运行定时任务,有时在服务器运行一段时间后会自动关闭.原因:Schedule默认是单线程运行定时任务的,即使是多个不同的定时任务,默认也是单线程运行.当线程挂掉时,定时任务也随之终止. 解决方法: 一.改为多线程执行定时任务: 加一个配置类,实现SchedulingConfigurer接口,重写configureTasks方法即可: import org.springframework.context.annotation.Configura…
在做web项目开发中,尤其是企业级应用开发的时候,往往会在工程启动的时候做许多的前置检查. 比如检查是否使用了我们组禁止使用的Mysql的group_concat函数,如果使用了项目就不能启动,并指出哪个文件的xml文件使用了这个函数. 而在Spring的web项目中,我们可以介入Spring的启动过程.我们希望在Spring容器将所有的Bean都初始化完成之后,做一些操作,这个时候我们就可以实现一个接口: 1 2 3 4 5 6 7 package com.yk.test.executor.p…
背景 随着spring boot 的流行.越来越多的来发着选择使用spring boot 来发 web 应用. 不同于传统的 web 应用 需要 war 包来发布应用. spring boot 应用可以把整个项目打包成一个可执行的 jar .同时也导致 jar 越来越庞大. 对于现在高速迭代项目.上传如此庞大的 jar 对来发人员来说是一件极其痛苦的事情. 本章介绍如何将项目中变化的不大的 jar 提取到外部. 具体步骤: 1: 通常我们是用spring-boot-maven-plugin 进行…
@Componentpublic class InitProject implements ApplicationRunner { private static final Logger logger = LoggerFactory.getLogger(InitProject.class); @Override public void run(ApplicationArguments args){ //初始化数据  执行方法 }}…
前言: 最近的时候遇到一个需求,就是当服务器接到请求并不需要任务执行完成才返回结果,可以立即返回结果,让任务异步的去执行.开始考虑是直接启一个新的线程去执行任务或者把任务提交到一个线程池去执行,这两种方法都是可以的.但是Spring 这么强大,肯定有什么更简单的方法,就 google 了一下,还真有呢.就是使用 @EnableAsync 和 @Async 这两个注解就 ok 了. 给方法加上 @Async 注解 package me.deweixu.aysncdemo.service;publi…
一:pom.xml配置修改 <!--如果想打成jar包,修改为jar--> <packaging>war</packaging> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <!-- 打成war的时候打开注释,本地开发用内嵌tomca…
更多 PM2 的用法介绍请参考: PM2简易使用手册 - 掘金 由于 PM2 通常都用于 node 应用, 所以 exec_mode 应写为 fork, 其中最重要的是 args, -jar 和 jar 包所在的位置应该注明, 如果需要提供其他参数, 也要在 args 中一并注明. 假设创建如下所示的 fz.json, 使用命令 pm2 start fz.json 即可运行 fz.jar. 使用命令 tail -f /home/imzhizi/log/fz-out.log 还可以查看运行日志.…
一.全局异常 1.首先创建异常处理包和类 2.使用@ControllerAdvice注解,全局捕获异常类,只要作用在@RequestMapping上,所有的异常都会被捕获 package com.example.demo.exception; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler…
方法1: 1 StringBuffer sb = new StringBuffer(300); 2 sb.append("SELECT v.id, v.container_number, v.error_feedback,v.is_handled,v.job_type,v.remark,v.vessel_voyage_number,"); 3 sb.append("e.error_code,e.error_description"); 4 sb.append(&qu…
@RequestMapping(value = "/redirect", method = RequestMethod.GET) public void redirecttest(@RequestParam(value = "account",required=false) String account, @RequestParam(value = "pwd",required=false) String pwd, HttpServletRequ…
#!/bin/bash nohup java -jar -Dspring.profiles.active=prop app-0.0.1.jar > app.log 2>&1 &…
导读 Spring Boot方式的项目开发已经逐步成为Java应用开发领域的主流框架,它不仅可以方便地创建生产级的Spring应用程序,还能轻松地通过一些注解配置与目前比较流行的微服务框架SpringCloud快速地集成. 在我们实际使用Spring Boot进行项目开发的过程中,往往只需要几个很简单的注解配置就能够将应用启动运行了,相比于传统的Spring项目而已,这种提升大大地提高了我们的研发效率.然而,这种便捷性则是通过高度地上层封装来实现的,如:“大量的注解封装.约定大于配置的原则“等手…
酱油一篇,整理一下关于Spring Boot后台运行的一些配置方式.在介绍后台运行配置之前,我们先回顾一下Spring Boot应用的几种运行方式: 运行Spring Boot的应用主类 使用Maven的Spring Boot插件mvn spring-boot:run来运行 打成jar包后,使用java -jar运行 我们在开发的时候,通常会使用前两种,而在部署的时候往往会使用第三种.但是,我们在使用java -jar来运行的时候,并非后台运行.下面我们分别针对Windows和Linux/Uni…
本文演示了如何用 Docker 构建.运行.发布来一个 Spring Boot 应用. Docker 简介 Docker 是一个 Linux 容器管理工具包,具备“社交”方面,允许用户发布容器的 image (镜像),并使用别人发布的 image.Docker image 是用于运行容器化进程的方案,在本文中,我们将构建一个简单的 Spring Boot 应用程序. 有关 Docker 的详细介绍,可以移步至 <简述 Docker> 前置条件 JDK 1.8+ Maven 3.0+ Docke…
酱油一篇,整理一下关于Spring Boot后台运行的一些配置方式.在介绍后台运行配置之前,我们先回顾一下Spring Boot应用的几种运行方式: 运行Spring Boot的应用主类 使用Maven的Spring Boot插件mvn spring-boot:run来运行 打成jar包后,使用java -jar运行 我们在开发的时候,通常会使用前两种,而在部署的时候往往会使用第三种.但是,我们在使用java -jar来运行的时候,并非后台运行.下面我们分别针对Windows和Linux/Uni…
作者:程序猿DD 酱油一篇,整理一下关于Spring Boot后台运行的一些配置方式.在介绍后台运行配置之前,我们先回顾一下Spring Boot应用的几种运行方式: 运行Spring Boot的应用主类 使用Maven的Spring Boot插件mvn spring-boot:run来运行 打成jar包后,使用java -jar运行 我们在开发的时候,通常会使用前两种,而在部署的时候往往会使用第三种.但是,我们在使用java -jar来运行的时候,并非后台运行.下面我们分别针对Windows和…
转自:http://blog.didispace.com/spring-boot-run-backend/ 酱油一篇,整理一下关于Spring Boot后台运行的一些配置方式.在介绍后台运行配置之前,我们先回顾一下Spring Boot应用的几种运行方式: 运行Spring Boot的应用主类 使用Maven的Spring Boot插件mvn spring-boot:run来运行 打成jar包后,使用java -jar运行 我们在开发的时候,通常会使用前两种,而在部署的时候往往会使用第三种.但是…
1. Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口.Docker image 是用于运行容器化进程的方案,在本文中,我们将构建一个简单的 Spring Boot 应用程序. 2.环境搭建 JDK 1.8+ Maven 3.0+ Docker 最新版. 3.用 Maven 构建项目 3.1 创建目录结构 mkdir -p…
概述 spring boot 应用构建 spring boot 应用运行 背景 之前的看了看 Spring 的书, 结果老懒没实践 而且后续有别的想法, 但这个始终是第一步 1. 准备 知识 java 基础 spring boot 基础 maven 基础 环境 os win10 maven 3.6 java 1.8 spring boot 2.2.1 ide IDEA 2018.02 2. 创建 spring boot 应用 概述 从 0 开始, 创建一个 简单的 spring boot 工程…
优化Docker中的Spring Boot应用:单层镜像方法 1.Docker关键概念 2.镜像层内容很重要 3.镜像层影响部署 4.Docker中的Spring Boot应用 5.单层方法 5.1 深入地研究单层方法 5.2 镜像层生命周期 微信公众号:Aditya Bhuyan K8S中文社区 1.Docker关键概念 Docker有四个关键概念:images, layers, Dockerfile 和 Docker cache .简而言之,Dockerfile描述了如何构建Docker镜像…
Spring Boot自动配置部分重点介绍了相关注解,关于main中调用的run方法并没有阐述过.run方法的作用是什么呢?只有注解没有main里的run方法Spring Boot工程就好比身体个方面机能都比较好除了大脑不工作的植物人:run方法指挥各项注解有序的工作. 下面分析Spring Boot中的run方法如何指挥工作: 1.SpringApplication() 构造方法 2.run方法详解 下面以Eureka服务启动为例,详述run方法每个关键动作都发挥了什么作用.调试Eureka服…
SpringBoot 2.7.2 学习系列,本节内容快速体验Spring Boot,带大家了解它的基本使用.运行和打包. Spring Boot 基于 Spring 框架,底层离不开 IoC.AoP 等核心思想.Spring 4.0 提供了基于 Java Config 的开发方式,Spring Boot 应运而生,可以简化 Spring 应用开发过程,同时也可以快速方便的集成第三方框架,如 MyBatis.Redis 等. 0 版本说明 开发工具 IDEA 版本:2021.2 Maven 版本:…
概述 在Spring Boot 开篇-创建和运行一文中,介绍了如何创建一个Sprint Boot项目并且运行起来.但是运行的方式是在IDEA中直接Run起来的.还有另一中方式可以可以把Spring Boot程序运行起来,就是直接在命令行中执行jar包. 打成jar包 以往的WEB程序需要打成WAR包,部署到Tomcat上,而Spring Boot支持打包成JAR的形式,就算是JAR里面包含图片.页面等,也是支持的.另外使用JAR包的方式也方便部署到Docker上. 要想把Spring Boot打…
Spring boot Freemarker 获取ContextPath的两种方法: 1.自定义viewResolver,Spring boot中有一个viewResolver,这个和配置文件中的师徒解析器是一样的,但是spring boot不允许xml配置文件,所以可以写一个自定义的FreeMarker视图解析器. public class MvcConfig extends WebMvcConfigurerAdapter { @Bean public FreeMarkerViewResolv…