资讯专栏INFORMATION COLUMN

Springboot入门以及基础概念

IT那活儿 / 517人阅读
Springboot入门以及基础概念
点击上方“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那活儿”公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129129.html

相关文章

  • 一份最中肯的Java学习路线+资源分享(拒绝傻逼式分享)

    摘要:因为某些原因,不方便在这里直接发送百度链接,关注我的微信公众号面试通关手册回复资源分享第一波即可领取。然后大家还有什么问题的话,可以在我的微信公众号后台面试通关手册给我说或者加我微信,我会根据自己的学习经验给了说一下自己的看法。 这是一篇针对Java初学者,或者说在Java学习路线上出了一些问题(不知道该学什么、不知道整体的学习路线是什么样的) 第一步:Java基础(一个月左右) 推荐...

    hearaway 评论0 收藏0
  • 两年了,我写了这些干货!

    摘要:开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章系列处理登录请求前后端分离一使用完美处理权限问题前后端分离二使用完美处理权限问题前后端分离三中密码加盐与中异常统一处理 开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章! Spring Boo...

    huayeluoliuhen 评论0 收藏0
  • SpringBoot基础入门

    摘要:基础入门篇简介可以基于轻松创建可以运行的独立的生产级的应用程序。对平台和第三方类库我们有自己看法和意见约定大于配置。官网目前最新版本是我们接下来就在这个版本的基础上面进行学习。变成项目引入依赖。 SpringBoot基础入门篇 简介 Spring Boot可以基于Spring轻松创建可以运行的、独立的、生产级的应用程序。 对Spring平台和第三方类库我们有自己看法和意见(约定大于配置...

    Edison 评论0 收藏0
  • java篇

    摘要:多线程编程这篇文章分析了多线程的优缺点,如何创建多线程,分享了线程安全和线程通信线程池等等一些知识。 中间件技术入门教程 中间件技术入门教程,本博客介绍了 ESB、MQ、JMS 的一些知识... SpringBoot 多数据源 SpringBoot 使用主从数据源 简易的后台管理权限设计 从零开始搭建自己权限管理框架 Docker 多步构建更小的 Java 镜像 Docker Jav...

    honhon 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<