创建一个springboot的web项目(【springBoot篇1】概念、创建和运行)
目录
一 、什么是springBoot?为什么要学springBoot
springBoot的优点:(5点)
优点1:快速集成框架
优点2:内置了Tomcat容器
优点3:快速部署项目
优点4:少配置 ,多注解
优点5:支持更多的监控指标
SpringBoot的缺点
二 、springBoot项目的创建
第一步:新建项目
第二步:添加一些框架支持
第三步:查看项目创建的状态
第四步:运行项目
SpringBoot的项目结构
启动类和其他类的关系
三、SpringBoot的配置文件
3.1配置文件的作用
存放重要信息
降低代码的耦合度
3.2配置文件的格式
配置文件的分类
配置文件的格式
springBoot配置的规则(格式?冲突?)
properies配置文件的语法
如何读取配置文件的内容
properties缺点分析
yml配置文件
yml配置文件说明
yml的特点:
yml的语法
yml对于单 、双引号的问题
yml配置对象
yml配置集合
properties和yml有什么区别(重要)
四 、指定文件读取
@PropertySource读取配置文件
一 、什么是springBoot?为什么要学springBoot
在之前学习spring的时候 ,我们了解到:spring框架的诞生可以简化Java程序的开发 。
springBoot翻译一下,就是spring框架的脚手架 。
springBoot的优点:(5点)
优点1:快速集成框架
springBoot提供了各种启动依赖的功能 ,用于快速集成各种框架;
优点2:内置了Tomcat容器
内置了运行容器 ,无需额外配置Tomcat等等的Web容器 。
SpringBoot内部内置了一个被打成jar包的Tomcat容器 ,当需要使用的时候就会调用它的API 。
优点3:快速部署项目
不需要外部的容器即可启动并且运行项目 ,springBoot项目启动的时候只需要编写一个main方法 ,然后运行这个main方法 。
之前的Servlet的时代 ,还需要安装smart Tomcat的插件 。繁琐的的集成 、部署操作 ,才可以运行项目 。
优点4:少配置 ,多注解
springBoot不需要太多的配置文件 ,只需要在连接redis或者mysql的时候配置一下数据源即可 。
优点5:支持更多的监控指标
通过这些指标,可以比较好地了解项目的运行情况 。(例如有哪些bean等等)
SpringBoot的缺点
版本更新太快 ,并且不同的版本之间模块区别比较大。
二 、springBoot项目的创建
如果idea编辑器是专业版的 ,那么点击左上角,直接选择新建spring initializr 。
第一步:新建项目
第二步:添加一些框架支持
第三步:查看项目创建的状态
看到一个启动类 ,说明已经创建成功了
第四步:运行项目
运行启动类的main方法 ,如果看到输出了spring的标志,说明运行成功了 。
SpringBoot的项目结构
启动类和其他类的关系
其他的类一定要和启动类在同一级的目录下面。(也就是和启动类要在同一个包下面 ,或者位于启动类的子包下面) ,这样才可以扫描到其他的类 。
三 、SpringBoot的配置文件
3.1配置文件的作用
存放重要信息
整个项目的所有重要的数据都是写在配置文件当中的 ,例如:
数据库的连接信息 、项目的启动端口 、第三方系统的日志信息等等;
如果没有配置文件 ,那么项目就无法连接数据库 。
降低代码的耦合度
对于数据库连接等等的信息 ,不应当写在Java代码当中 ,应当写在配置文件当中。
场景1:
同时 ,对于配置文件当中的内容 ,也可以方便开发人员进行修改 。
(如果写在.java文件当中 ,那么对于编译之后的.class文件,它是只读文件 ,无法修改)
场景2:
方便运维人员查看项目需要部署的服务器 、数据库连接等等 。
3.2配置文件的格式
配置文件的分类
1、 系统的配置文件:比如数据库连接字符串 、比如日志的相关配置等等 ,这些是系统定义好的 。
2 、用户自定义的配置文件 。例如用户想要读取的一些文件之类
配置文件的格式
一般都是两种,一种是.properties ,另外一种是.yml
但是 ,无论哪一种格式,都必须要命名为application.yml或者application.properties
因为springBoot在启动的时候默认只读取名称为application的配置文件 。
springBoot配置的规则(格式?冲突?)
规则1:一个项目当中可以存在两种配置文件(一种是properies ,另外一种是yml) ,但是不建议同时出现两种 。
规则2:如果.properties和.yml的配置文件内容冲突了 , 那么会怎样处理?优先读取.properties的配置文件 。
properies配置文件的语法
properies是以键值对的形式配置的 。
同时 ,也可以在properies当中自定义配置文件的内容
如何读取配置文件的内容
使用@Value注解来读取配置文件当中的内容:server.port属性跟着的值
/** * @author 25043 */ @Component public class ReadProperties { /** * value当中的值为配置文件当中 * server.port的值 * 一定要加大括号 */ @Value("${server.port}") private String port; @PostConstruct public void postConstruct(){ System.out.println("yml当中的值:"+port); } }properties缺点分析
对于一些key ,它会有很多冗余的内容:
当多个key存在相同的部分的时候 ,需要一一把相同的部分列举出来 ,比较冗余 。
yml配置文件
yml配置文件说明
yml是YAML的缩写 ,它的全称是:"Yet another Markup Language" ,yml是一个可读性高,易于理解 ,用来表达数据序列化的格式。
最大的优势:可以跨语言 。
yml的特点:
1、写法简单 、可读性高;
2 、支持更多的数据类型(;
3、支持跨语言的使用:java/python
yml的语法
这个也是按照key-value的形式来进行存储的 。
但是它的写法相比于properties更加地简洁。
当多个key存在重复的元素的时候 ,可以把这些key相同的部分都给提取出来 。
properties:
yml对于单 、双引号的问题
yml配置对象
多行的写法:
#对象写法1 student : id : 1 name : 张三 age: 22单行的写法:
#对象写法2 student2 : {id : 2, name : 李四, age : 20}获取对象:
第一步:在properties当中存放一个对象:
第二步:新建一个和这个对象属性一模一样的实体类
第三步:把这个实体类注入到Spring容器当中(5大类注解)
第四步:从配置文件当中获取这个对象
第五步:从通过属性注入获取对象
yml配置集合
配置文件:
#dbtypes对应一个实体类 #name对应的是集合 dbtypes : { name: [ mysql, sqlServer,db2 ] }注入集合:
获取bean:
properties和yml有什么区别(重要)
区别1:properties仅仅支持Java项目,但是yml支持包括Java在内的多种语言(例如python);
区别2:properties的key写起来比较冗余 ,不像yml那样简易 。(yml支持层级 ,层级之间采用缩进的方式)
区别3:yml支持更多的数据类型(string,object,list)
四 、指定文件读取
@PropertySource读取配置文件
这个注解可以作用在类的上面,同时指定读取哪一个配置文件。
如果没有这个注解 ,那么@Value注解默认读取的是application.properties文件当中的内容 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!