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
SpringBoot基础入门的更多相关文章
- springBoot 基础入门
来处:是spring项目中的一个子项目 优点 (被称为搭建项目的脚手架) 减少一切xml配置,做到开箱即用,快速上手,专注于业务而非配置 从创建项目上: -- 快速创建独立运 ...
- 分布式-springboot基础入门
B站播放地址:https://www.bilibili.com/video/BV1PE411i7CV?t=51 博客地址:https://www.cnblogs.com/hellokuangshen/ ...
- SpringBoot基础篇-SpringBoot快速入门
SpringBoot基础 学习目标: 能够理解Spring的优缺点 能够理解SpringBoot的特点 能够理解SpringBoot的核心功能 能够搭建SpringBoot的环境 能够完成applic ...
- SpringBoot之基础入门-专题一
SpringBoot之基础入门-专题一 一.Spring介绍 1.1.SpringBoot简介 在初次学习Spring整合各个第三方框架构建项目的时候,往往会有一大堆的XML文件的配置,众多的dtd或 ...
- springBoot基础
开始之前最基础的东东here 官网:http://projects.spring.io/spring-boot/ 基础快速构建:http://start.spring.io/ 松哥的博客:http:/ ...
- Spring Boot 2.x零基础入门到高级实战教程
一.零基础快速入门SpringBoot2.0 1.SpringBoot2.x课程全套介绍和高手系列知识点 简介:介绍SpringBoot2.x课程大纲章节 java基础,jdk环境,maven基础 2 ...
- SpringBoot 基础(二)
目录 SpringBoot基础(二) 一.操作数据库 1. SpringBootJdbc 2. SpringBoot 整合 Mybatis 3. SpringBott 使用JPA 二.使用 Thyme ...
- [转]小D课堂 - 零基础入门SpringBoot2.X到实战_汇总
原文地址:https://www.cnblogs.com/wangjunwei/p/11392825.html 第1节零基础快速入门SpringBoot2.0 小D课堂 - 零基础入门SpringBo ...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_汇总
第1节零基础快速入门SpringBoot2.0 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_1.SpringBoot2.x课程介绍和高手系 ...
随机推荐
- [05] 动态SQL
MyBatis的强大特性之一就是它的动态SQL,它可以根据不同的条件动态地组成SQL语句进行执行.为此,MyBatis提供了一系列强大的表达式,本章将就此进行学习,主要内容直接参考的是官方文档< ...
- Python常见十六个错误集合,你知道那些?
使用python会出现各种各样的错误,以下是Python常见的错误以及解决方法. 1.ValueError: 'Conv2d_1a_3×3' is not a valid scope name 这个是 ...
- git 用法---成功添加一个文件到github
一.git 提交 全部文件 git add . git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过 git add -A .来一次添加所有改变的文件.注意 -A 选项后面还有一 ...
- odoo订餐系统之订单设计
订餐系统的主要功能便是用户下单部分,这里我们分为表头mylunch_order和表体mylunch_order_line两张主要的数据表,表头主要记录订单的一些通用信息,比如下单的操作人员 下单日期 ...
- JS回调函数--简单易懂有实例
版权声明:本文为博主原创文章,转载请注明出处 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数. 我们先来看看回调的英文定义:A callback is a function t ...
- Vue 实际项目中你可能会遇见问题
纸上得来终觉浅,绝知此事要躬行! Vue的文档和教程看的太多,小的demo做的多,也不如自己实际的进行一个完整项目的开发.只有做了才知道原来问题这么多,这里列举了一些你做demo教程可能不会遇见的坑. ...
- Bash : IO 重定向
标准输入/输出(standard I/O)可能是软件设计原则里最重要的概念了.这个概念就是:程序应该有数据的来源端.数据的目的端(输出结果的地方)已经报告问题的地方,它们分别被称为标准输入(stand ...
- 关于用tesseract和tesserocr识别图片的一个问题
对于像我这样初学python网络爬虫的freshman来说,软件的准备和环境的配置能让我们崩溃.其中用刚安装好的tesseract和tesserocr库测试识别验证码就是其中一例. 这里我要测试的验证 ...
- webvirtmgr-重命名kvm虚拟机的名称
之前部署了Webvirtmgr平台管理kvm虚拟机,由于虚拟机在创建时名称是顺便起的,后续在虚拟机上部署了部分业务.为了便于管理,最好将虚拟机的名称重置下. 现在说下如何修改kvm中虚拟机的名称: 比 ...
- 安卓开发helloworld
https://blog.csdn.net/tangjie134/article/details/79495204