SpringBoot是干哈的

  • 介绍:springboot是由Pivotal团队提供的全新框架。spring的出现是为了解决企业级开发应用的复杂性,spring的通过注册bean的方式来管理类,但是随着业务的增加,使用xml配置bean的方式也显得相当繁琐,所以springboot就是为了解决spring配置繁琐的问题而诞生的,并且近几年来非常流行

开启我的第一个Hello SpringBoot!

  • 开启方式
  1. 根据https://start.spring.io网址创建一个springboot项目
  2. 使用idea创建springboot项目
    1. new project
    2. 选择 spring Initalizr然后next
    3. group:包名,Artifact:项目名,Type:管理工具类型,Language:语言,Packaging:打包类型,Java Version:jdk版本,然后next
    4. 根据需要选择对应的Dependencies依赖,next

@EnableAutoConfiguration

  • 介绍:spring boot中的核心注解,只设置EnableAutoConfiguration注解springboot就能启动相关的容器(servlet容器、tomcat、、、)

SpringBoot中的延迟加载(懒加载)

  • 介绍:springboot项目启动时,程序会默认把IOC容器管理的类全部创建,那么如果一个项目的业务很多,类也很多,那么势必会遇到一个问题,就是会影响项目启动时间,所以说如果想要提升项目启动时间,那么就可以设置项目的全局懒加载属性。
  • 使用
    • 可以直接在application.properties属性文件中设置
      spring.main.lazy-initialization=true

项目启动日志管理

如果你想关闭启动日志,可以设置application.properties中的spring.main.log-startup-info为false;

spring.main.log-startup-info=false

banner图

  • 介绍

    • 项目启动后,控制台前几行默认会输入Spring样式的banner图,我们可以设置自己的banner图
  • 配置

    • 在resources文件夹下创建一个banner.txt文本,里面写的内容会作为项目启动时展示的信息
  • 通过配置application属性文件还可以设置banner图的显示模式

    • spring.main.banner.mode=log
    • 它有三个属性
      • log:输出在日志
      • console:输出在控制台
      • off:不显示banner图
    • 如果不配置,默认输出在控制台
  • 自定义banner图

    • 创建一个类实现Banner接口,重写printBanner方法
      public class CustomBanner implements Banner { @Override public void printBanner(Environment environment, Class<?> sourceClass, PrintStream out) { System.out.println("当前的环境:"); } }
    • 在main方法中创建SpringApplication对象,并为他的属性setBanner赋值
      public static void main(String[] args) { SpringApplication s=new SpringApplication(SpringBootTestApplication.class); s.setBanner(new CustomBanner()); s.run(args); //SpringApplication.run(SpringBootTestApplication.class, args); }

自定义异常处理

  • 介绍
  • Failure接口时springboot定义处理异常的约定,那么我们想要进行友好的异常处理就必须要使用的这个接口,它的实现类有很多,我们可以使用AbstractFailureAnalyzer这个抽象类来处理异常
  • 使用
    • 创建一个类继承AbstractFailureAnalyzer,重写analyze方法
      public class CustomFailure extends AbstractFailureAnalyzer<ArithmeticException> { @Override protected FailureAnalysis analyze(Throwable rootFailure, ArithmeticException cause) { return new FailureAnalysis("启动时遇到了数学计算错误","请检查是否有1/0的情况,报错位置在:"+cause.toString(),cause); } }
    • 创建一个META-INF文件夹,里面新建spring.factories文件,文件里面写上配置org.springframework.boot.diagnostics.FailureAnalyzer= 出场处理类包路径
      org.springframework.boot.diagnostics.FailureAnalyzer= com.nckj.llds.rkxy.failure.CustomFailure

springboot 关闭懒加载_SpringBoot新手入门篇相关推荐

  1. SpringBoot JPA 懒加载的问题 ---No session

    当前项目中使用的orm框架为 JPA,其所使用的实现类是以Hibernate为基础的: 问题描述: 代码逻辑大致如下 public class EntiryA{int a;int b;String c ...

  2. SpringBoot实现懒加载@Lazy

    @Lazy使用说明 一般情况下,Spring容器在启动时会创建所有的Bean对象,使用@Lazy注解可以将Bean对象的创建延迟到第一次使用Bean的时候 使用方法 1.@Lazy(value = t ...

  3. java 懒加载原理_SpringBoot新特性之全局懒加载机制

    关于延迟加载 在 Spring 中,默认情况下所有定的 bean 及其依赖项目都是在应用启动时创建容器上下文是被初始化的.测试代码如下: @Slf4j @Configuration public cl ...

  4. java懒加载注解_在springboot中实现个别bean懒加载的操作

    懒加载---就是我们在spring容器启动的是先不把所有的bean都加载到spring的容器中去,而是在当需要用的时候,才把这个对象实例化到容器中. @Lazy 在需要懒加载的bean上加上@Lazy ...

  5. bootstrap 数据加载中提示_解决Quartz定时器中查询懒加载数据no session的问题

    作者:下一秒升华 出自:CSDN 原文:blog.csdn.net/u013815546/article/details/53032445 相信大家在web开发过程中一定遇到过一种情况,Class班级 ...

  6. Hibernate懒加载问题的5种解决方案

    ** 1.Hibernate基础 ** Hibernate基础,传送门 ** 2.什么是Hibernate懒加载 ** 当我们查询一个对象的时候,在默认情况下,返回的只是该对象的代理对象,当用户去使用 ...

  7. 【vue-treeselect】数据量大的时候懒加载并且可以搜索,树懒加载+搜索

    这两天快被这个懒加载加搜索搞崩溃了 今天小有收获,后面优化了再更新 主要说一下一棵树如何懒加载和搜索 1.ref不解释了,和本次代码无关 2.normalizer格式化内容不重要 3.load-opt ...

  8. spring boot:从零开始搭建一个项目 - day 7 springboot devtools热加载+MybatisPlus配置+kisso从入门到放弃

    spring boot:从零开始搭建一个项目 - day 7 springboot devtools热加载+MybatisPlus配置+kisso从入门到放弃 一.springboot devtool ...

  9. SpringBoot预加载与懒加载

    预加载 bean在springBoot启动过程中就完成创建加载 在AbstractApplicationContext的refresh方法中 // Instantiate all remaining ...

最新文章

  1. ace.js ajax 跳转,ace.js中文使用手册,收集比较全面
  2. DPDK — 架构解析
  3. 微型项目实践(8):数据访问的实现
  4. python中高阶函数改写学生信息管理程序_python利用高阶函数实现剪枝函数
  5. 史上最详细阿里云服务器上Docker部署vue项目 实战 每一步都带详细图解!!!
  6. python实验收获和建议_python实验收获与反思 100字_考试后的反思100字
  7. cuda入门——改良第一个 CUDA程序
  8. 轻量级开源小程序SDK发车啦
  9. Python之Matplotlib库常用函数大全(含注释)
  10. matlab 正态分布相关 API
  11. jQuery-EasyUI
  12. 随笔之生成简单的验证码
  13. RadioButton设置图片大小
  14. ps添加的阴影怎么去除_去除人物照片脸部阴影的PS技巧
  15. as打包app连不上网络_1000M光纤到户RT-AC68U配单只Lyra Trio织女星家庭AiMesh网络搭建...
  16. 三菱FX系列PLC编程口通讯协议详解
  17. Genius In Our Lives - Stéphane Mallat
  18. 邮件群发平台_海外疫情持续严重影响外贸市场,U-Mail邮件群发应对出招
  19. python 声音基频f0_【aubio】音频处理笔记
  20. 2022-2028年中国无刷直流电机制造行业市场研究分析及投资策略研究报告

热门文章

  1. Axure实现多用户注册验证
  2. tomcat8 进入不了Manager App 界面 403 Access Denied
  3. jquery正则表达式验证:验证全是数字
  4. Python正则替换字符串函数re.sub用法示例(1)
  5. UI1_UIView层操作
  6. OpenJudge计算概论-字符串排序
  7. node --- 连接mysql(docker环境) Sequelize库
  8. ES6-12 array/数值拓展、ArrayOf、ArrayFrom
  9. 关于系统自带 .NET Framework 版本的说明
  10. 本文详解5G是个什么鬼,程序员都准备好了吗?