分类 糟心语言 中的文章

SpringBoot源码分析(二)事件监听与配置初始化

SpringBoot源码分析(三) 上篇我们讲解了监听器,以及初始化配置的文章,这章我们讲解下run方法 先看代码: public ConfigurableApplicationContext run(String... args) { // 初始化计时器 StopWatch stopWatch = new StopWatch(); // 开启计时器 stopWatch.start(); // 初始化配置为空 ConfigurableApplicationContext context = null; // 声明一个异常集合 Collection<SpringBootExceptionReporter> exceptionReporters = new ArrayList<>(); // 设置了一个名为java.awt.headless的系统属性,即使没

阅读全文

类加载的方式

类加载的方式 主要有两种: 隐式加载:使用 new + 构造方法时,隐式的调用类加载器,加载对应的类到 JVM 中,是最常见的类加载方式。 显式加载:使用 loadClass()、forName() 等方法显式的加载需要的类,对于显式加载这种类加载方式来讲,当我们获取到了 Class 对象后,需要调用 Class 对象的 newInstance() 方法来生

阅读全文

java collection list

1.什么是集合 存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式。 集合的出现就是为了持有对象。集合中可以存储任意类型的对象,而且长度可变。在程序中有可能无法预先知道需要多少个对象,那么用数组来装对象的话

阅读全文

java.awt.headless 模式

java.awt.headless 模式 1. 什么是 java.awt.headless? Headless模式是系统的一种配置模式。在系统可能缺少显示设备、键盘或鼠标这些外设的情况下可以使用该模式。 2. 何时使用和headless mode? Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤

阅读全文

SpringBoot StopWatch

springStopWatch 在写代码的时候我们经常会测试一段代码的执行时间,一般格式如下 @RequestMapping(value = "/") public String hello() throws InterruptedException { long start = System.currentTimeMillis(); Thread.sleep(100); long end = System.currentTimeMillis(); System.out.println("执行耗时:" + (end - start)); return "hello word"; } 当我们有了SpringBoot以后我们完全可以这么做 @RequestMapping(value = "/") public String hello() throws InterruptedException { StopWatch stopWatch = new StopWatch(); stopWatch.start(); Thread.sleep(100); stopWatch.stop(); System.out.println(stopWatch.prettyPrint()); System.out.println(stopWatch.getTotalTimeMillis()); return "hello

阅读全文

修改Springboot启动画面

springBoot启动画面 在我们运行Springboot的时候在命令行中输出了一个简易的画面 源码分析 1、启动SpringBoot 2、获取配置信息 3、调用Banner启动 4、Banner具体实现方法 5、Banner的一些定义 6、打印信息 7、读取内容配置 > 默认位置是资源文件`ban

阅读全文

Springboot两种打包方式

1、自带Tomcat 我们前边讲解的默认创建的,我们使用maven就是已经自带了tomcat 2、排除tomcat两种方法 两种方法都需要 war > package com.pv3.demo; > > import org.springframework.boot.builder.SpringApplicationBuilder; > import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; > > /** > * web容器中进行部署 > */ > public class SpringbootServletInitializer extends SpringBootServletInitializer > { > @Override > protected SpringApplicationBuilder configure(SpringApplicationBuilder application) > { > return application.sources(DemoApplication.class); > } > } > ``` 1、最简单办法 xml org.springframework.boot spring-boot-starter-tomcat provided 2、稍复杂办法 xml org.springframework.boot

阅读全文

Idea创建SpringBoot项目

idea创建SpringBoot应用 ​ 我刚开始学的时候,我也是一样,打开搜索引擎,输入SpringBoot官方网站,搜到后开始网页一步一步创建,别问我为什么,因为教程都是这么写的,这个过程持续了一年吧!这一年其实听昏沉的,也不知道自己干了点什么,反正就是华七八糟混吃等死的一年!废

阅读全文

pageHelper详解

##什么是PageHelper 如果你也在用 MyBatis,建议尝试该分页插件,这一定是最方便使用的分页插件。分页插件支持任何复杂的单表、多表分页。 Maven <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.4</version> </dependency> 配置拦截器 拦截器有两种方式:一种是Mybatis,一种是Spring 1、Spring方式 <plugin interceptor="com.github.pagehelper.PageHelper"> <!--指明数据库 4.0

阅读全文

Vue模块讲解

组件 ​ Vue之所以能火起来,一个是简单易用,还有就是他的模块思维,使用模块可以叫我们尽可能的减少重复的工作,这就是目前为什么模块化思维越来越火。Vue把封装起来的模块看做组件。 全局组件的创建注册与使用 ​ Vue的组件注册有三个步骤:创建组件构造器,注册组件,使用组件 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> &

阅读全文