SpringBoot基础入门
1.SpringBoot核心相关内容
1.1入口类
SpringBoot通常有一个入口类*Application,内部有一个main方法,是启动SpringBoot的入口。使用@SpringBootApplication注解,并包含main方法。
1.2常见注解
@SpringBootApplication :是SpringBoot的核心注解,用于标注程序时一个SpringBoot程序。它是一个组合注解,由多个注解组合而成。
@SpringBootApplication=@ComponentScan+@Configuration+@EnableAutoConfiguration
@SpringBootConfiguration: 一个组合注解,相当于传统的xml配置文件,包含@Configuration注解。在Spring Boot项目中推荐使用@SpringBootConfiguration替代@Configuration。
@EnableAutoConfiguration :启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项,这也是 springboot 的核心注解之一,我们只需要将项目需要的依赖包加入进来,它会自动帮我们配置这个依赖需要的基本配置。比如我们的项目引入了spring-boot-starter-web依赖,springboot 会自动帮我们配置 tomcat 和 springmvc。
@ComponentScan:组件扫描,可发现和自动装配一些bean。默认扫描@SpringBootApplication类所在包的同级目录以及它的子目录。
设置不自动装配:
@SpringBootApplication(exclude = {JpaRepositoriesAutoConfiguration.class, RedisAutoConfiguration.class})
注解内部将不需要自动配置的依赖通过exclude参数指定即可,可以指定多个类
@Bean: 注解在方法上,声明当前方法返回一个Bean
@PostConstruct:注解在方法上,构造函数执行后执行。
@PreDestroy: 注解在方法上,在Bean销毁前执行。
@Lazy(true): 延迟初始化
@Scope:注解在类上,描述spring容器如何创建Bean实例。
@Profile:注解在方法类上 在不同情况下选择实例化不同的Bean 特定环境下生效
@Import:用来导入其他配置类。
@ImportResource:用来加载xml配置文件。
2.核心配置文件
2.1yml和properties
SpringBoot使用一个全局配置文件application.properties或者application.yml。properties配置文件见附件。
yml类似于xml,但是yml没有xml中的 标签,而是通过空格来表示层级结构:
#相当于 properties 中的server.port=80
server:
port: 80
#代表 spring.jpa.下面的属性 每个:之后的代表当前属性下的属性
spring:
jpa:
generate-ddl: false
show-sql: true
hibernate:
ddl-auto: update
database: mysql
SpringBoot的配置文件可以放在以下几个地方:
外置,在相对于应用程序运行目录的/congfig子目录里。(resources/config)
外置,在应用程序运行的目录里(resources)
内置,在config包
内置,在Classpath根目录
这个列表按照优先级排序,也就是说,src/main/resources/config下application.properties覆盖src/main/resources下application.properties中相同的属性
如果在相同优先级位置同时有application.properties和application.yml,那么application.properties里的属性里面的属性就会覆盖application.yml
如果自己定义了其它的配置文件,如test.properties,可以使用@PropertiesSource注解指定加载配置文件。
@PropertySource("classpath:test.properties")
2.2profile多环境配置
当应用程序需要部署到不同运行环境时,一些配置细节通常会有所不同,最简单的比如日志,生产日志会将日志级别设置为WARN或更高级别,并将日志写入日志文件,而开发的时候需要日志级别为DEBUG,日志输出到控制台即可。
如果按照以前的做法,就是每次发布的时候替换掉配置文件,这样太麻烦了,Spring Boot的Profile就给我们提供了解决方案,命令带上参数就搞定。
切换的配置文件必须符合application-xx的命名,其中xx和application.properties中指定的属性值对应,在application.properties中进行如下配置,系统将会使用application-dev.properties中的配置:
spring.profiles.active=dev
转载于:https://www.cnblogs.com/sueyyyy/p/9519197.html
SpringBoot基础入门相关推荐
- SpringBoot 基础入门
SpringBoot 基础入门 Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的创建.运行.调试.部署等.使用Spring ...
- SpringBoot基础入门 01
一.SpringBoot基础 1.1 原有Spring优缺点分析 1.1.1 Spring的优点分析 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE ...
- SpringBoot基础入门篇
SpringBoot是什么 为什么我们要使用SpringBoot? Spring Boot makes it easy to create stand-alone, production-grade ...
- 2022年最新最全的Java零基础入门,零基础入门springboot,MySQL的学习
今天就来开始带领大家零基础入门Java开发 写在前面 为什么学习Java Java用途很广泛,如下图所示,Java可以做很多工作 JAVA语言发展史 2019年3月,JDK12版本发布. 2019年9 ...
- 经典再现,看到就是赚到。尚硅谷雷神 - SpringBoot 2.x 学习笔记 - 基础入门篇
SpringBoot 2.x 时代 – 基础入门篇 视频学习地址:https://www.bilibili.com/video/BV1Et411Y7tQ?p=112&spm_id_from=p ...
- SpringBoot@Schedule入门基础
SpringBoot@Schedule入门基础 前言 Schedule是一个任务调度器,SpringBoot中可定时触发执行定时任务. 一.基本概念 在SpringBoot中,使用 @Schedule ...
- SpringBoot2.x(3)---基础入门
SpringBoot2.x(3)---基础入门 一.概述 Spring Boot设计目的是用来简化新Spring应用的初始搭建以及开发过程.Spring Boot并不是对Spring功能上的增强,而是 ...
- SpringBoot基础知识
SpringBoot基础知识 SpringBoot课程笔记 前言 很荣幸有机会能以这样的形式和互联网上的各位小伙伴一起学习交流技术课程,这次给大家带来的是Spring家族中比较重要的一门技术课程- ...
- 8. SpringBoot基础学习笔记
SpringBoot基础学习笔记 课程前置知识说明 1 SpringBoot基础篇 1.1 快速上手SpringBoot SpringBoot入门程序制作 1.2 SpringBoot简介 1.2.1 ...
最新文章
- Koa 本地搭建 HTTPS 环境
- 网络宣传推广浅谈关键词排名好却没有流量的原因解决方法!
- 微信小程序设置云函数使用的环境
- sum除以count 和avg 的区别_EXCEL函数之计数COUNT系列
- java程序讲解_3、Java程序讲解
- rabbitmq常用的五种模型
- 求求你!不要在网上乱拷贝代码了!一段网上找的代码突然炸了,项目出现大BUG...
- UCOS中断函数的编写
- Unity3D笔记十 游戏元素
- NYOJ 63 小猴子下落
- 全栈深度学习第7期: 研究方向这么多,哪些是有有趣又潜力的呢?
- 什么是 CD 管道?一文告诉你如何借助Kubernetes、Ansible和Jenkins创建CD管道!
- Python 爬虫工程师必看,深入解读字体反爬虫
- apisix实际应用_OpenResty 社区王院生:APISIX 的高性能实践
- 计算机硬盘是通用的吗,通用账务系统安装到计算机硬盘前需要进行的准备工作有()。A.清理硬盘B.校准计算机系统时间C.重设C - 作业在线问答...
- 视音频编解码H264,265,MPEG-4,VP8,VP9知识总结
- Port-A-Thon
- 11月第5周业务风控关注|重磅!瓜子二手车“遥遥领先”被罚天价1250万
- ERP失败案例:业务流程再造失误
- (VS)c++调用matlab函数
热门文章
- 队列表mysql,什么是在mysql中实现消息队列表的最佳方法
- vb.net如何查询电脑麦克风收到声音_如何正确使用苹果电脑?
- python怎么按键开始与停止_使用Python启动和停止子流程
- idc网站html源码,40个网页常用小代码
- 用top方法查看内存消耗的方法
- java比较三个数的编程_Java小程序输入三个数求最大数
- php调用应用程序api,使用PHP调用openAPI
- hashcode 和 equals 的关系_Java equals 和 hashCode 的这几个问题可以说明白吗?
- c++和java哪个难_前端和Java开发哪个难?哪个学习容易一点?
- 论文,成本管理与进度管理(主成本)