暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Springboot入门以及基础概念

IT那活儿 2022-12-10
629
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

简 介

Spring Boot是一个构建在Spring框架顶部的项目。它提供了一种简便,快捷的方式来设置,配置和运行基于Web的简单应用程序。

它是一个Spring模块,提供了 RAD(快速应用程序开发)功能。它用于创建独立的基于Spring的应用程序,因为它需要最少的Spring配置,因此可以运行。
简而言之,Spring Boot是 Spring Framework 和 嵌入式服务器的组合。

在Spring Boot不需要XML配置(部署描述符)。它使用约定优于配置软件设计范例,可以减少开发人员的工作量。


SpringBoot体系结构

SpringBoot遵循一个分层的体系结构,其中每一层都与它的直接上下层进行通讯。SpringBoot中有四层,分别为展示层、业务层、持久层、数据库层。
  • 展示层:表示层负责处理HTTP请求,将JSON参数转换为对象,并对请求进行身份验证并将其传输到业务层。简而言之,它由视图即前端部分组成。
  • 业务层:业务层处理所有业务逻辑 >。它由服务类组成,并使用数据访问层提供的服务。它还执行授权和验证。
  • 持久层:持久层包含所有存储逻辑,并将业务对象与数据库行进行相互转换。
  • 数据库层:在数据库层中, CRUD (创建,检索,更新等)。


SpringBoot基础目录结构

ProjectName
+- src
+- main
+- java
+- resources
| +- static
|
  +- templates
| application.properties
+- test
+- java
|
 pom.xml

Spring Boot的基础结构共三个文件(具体路径根据用户生成项目时填写的Group所有差异):

  • src/main/java下的程序入口ProjectApplication;
  • src/main/resources下的配置文件application.properties;
  • src/test/下的测试入口ProjectApplicationTests;
  • Pom.xml 是Maven的基本工程文件,包含了项目的基本信息,以及声明项目依赖;

生成的ProjectApplication和ProjectApplicationTests类都可以直接运行来启动当前创建的项目,如果项目未创建任何数据访问或Web模块,程序会在加载完Spring之后结束运行。


创建springboot应用程序

如图所示:
进入项目创建页面,选择spring Initializr,Server URL:https//start.spring.io,根据创建的项目点击确认。
创建web项目,需要选择WEB相关的依赖:
在Idea中运行创建的项目:
浏览器访问端口,可以看到服务应用启动了。


Springboot配置

5.1 默认配置文件

Spring Boot的默认配置文件位置为:src/main/resources/application.properties。
关于Spring Boot应用的配置内容都可以集中在该文件中了,根据pom.xml中引入的不同Starter模块,可以在这里定义诸如:容器端口名、数据库链接信息、日志级别等各种配置信息。
如下所示:
# web服务访问端口
server.port=8090
# 数据库连接
spring.datasource.url=jdbc:mysql://192.168.XX.2:3306/xxx
# 应用名称
Spring.application.name=hello

Spring Boot的配置文件除了可以使用传统的properties文件之外,还支持现在被广泛推荐使用的YAML文件。
如下所示:
server:
  port: 8090
  
spring:
  datasource:
    url: jdbc:mysql://192.168.XX.2:3306/xxx
  application:
    name: hello

5.2 外部配置

在springboot的jar包程序运行时,可直接通过命令行修改web服务参数,如:
# java -jar xx.jar --server.port=8090
命令行中的双减号--就是对application.propertyes中属性值进行赋值的标识,所以java -jar xx.jar --server.port=8090等价于在application.propertyes中添加属性server.port=8090

5.3 配置优先级

application.properties和application.yml文件可以放在四个位置,按照优先级排序如下所示:

  • 外置,在相对于应用程序运行目录的/congfig子目录里。
  • 外置,在应用程序运行的目录里。
  • 内置,在config包内。
  • 内置,在Classpath根目录。
也就是说jar包的springboot程序运行的目录下config/application.properties会覆盖./application.properties中相同属性的配置。
springboot/
├── application.properties
├── config
│ └── application.properties
└── HelloWorld-0.0.1-SNAPSHOT.jar

src/main/resources/config下application.properties覆盖src/main/resources下application.properties中相同的属性,如图:

此外,如果在相同优先级位置同时有application.properties和application.yml,那么application.properties里的属性里面的属性就会覆盖application.yml。


多环境配置

6.1 配置命名

在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:

  • application-dev.properties:开发环境
  • application-test.properties:测试环境
  • application-prod.properties:生产环境

6.2 配置加载

  • 执行java -jar xxx.jar,也就是默认的开发环境(dev)
  • 执行java -jar xxx.jar --spring.profiles.active=test,也就是测试环境的配置(test)
  • 执行java -jar xxx.jar --spring.profiles.active=prod,也就是生产环境的配置(prod)


项目打包运行

双击package,idea自动打包并测试项目文件。打包完成可以在右侧看到项目名称的jar包文件。
等待打包,package打包完成后,target中会生成一个与项目名称相同的jar包文件。
CMD运行jar包可以看到服务可以正常运行。根据输出的信息,可以看到Springboot 版本:v2.7.5
执行命令:java -jar HelloWorld-0.0.1-SNAPSHOT.jar


本文作者:黎 俊(上海新炬中北团队)

本文来源:“IT那活儿”公众号

properties spring框架 boot springboot
文章转载自 IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

PHP网站源码思茅网站搜索优化价格文山网页设计清徐百度网站优化排名推荐梧州优秀网站设计推荐宜宾如何制作网站哪家好武汉网站优化按天扣费推荐金昌网站排名优化公司大丰百姓网标王淮北网站搜索优化价格玉林外贸网站建设价格遵义百度标王报价飞来峡至尊标王哪家好衢州SEO按效果付费多少钱中山建站公司丹竹头网站推广方案宜春模板制作推荐南宁设计网站多少钱东营网站设计模板多少钱阜阳网站seo优化长葛百度标王多少钱清远网页制作辽源网站定制报价广东优秀网站设计多少钱南联SEO按天计费报价绥化百度网站优化公司白山模板制作绍兴网站优化按天收费多少钱徐州网站制作商丘至尊标王多少钱辽源网络广告推广多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化