欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

springboot静态网页放哪里_STEP4.1 第一个SpringBoot项目

发布时间:2025/10/17 107 豆豆
生活随笔 收集整理的这篇文章主要介绍了 springboot静态网页放哪里_STEP4.1 第一个SpringBoot项目 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在上一节STEP3.2 服务器对于HTTP请求的处理流程中,我们学会了后端服务相关的理论知识。

接下来,我们就要落实到代码层面。

没有需求何来的代码开发?正所谓需求(DDL)是第一生产力,为了让我们在学习过程中不要冒出“学这个有什么用?”的奇怪想法,我们先来拟订一个需求,然后根据这个需求开展我们相关的学习,以及最后的代码开发。

我们假设我们的老板有如下三个需求:

  • 用户可以通过账号密码登录
  • 已经登录的用户可以查看全用户名列表(没登录就不能看)
  • 用户可以注销
  • 为了这三个需求,我们需要以怎样的顺序,开展哪些内容的学习呢?

  • 学会如何搭建、配置、启动、访问服务(本节内容)
  • 为了正常使用我们需要的第三方包,我们需要理解SpringBoot是如何管理依赖的(STEP4.2 认识pom.xml)
  • 理解会话的概念,学会如何保持登录状态,并进行相应代码实践()
  • 写代码搭建项目login-demo,逐步完成需求()
  • 最后,我们还会利用Spring的特性(SpringBoot内置Spring)来优化一下我们的项目:

    • 理解Spring IOC特性()
    • 使用我们的IOC特性来为login-demo做代码优化()

    那么接下来,就开始我们的第一步吧!


    在这一节中,我们要用代码来实践最简单的后台处理。

    其实也就是我们学任何语言or框架都首先会有的 Hello World!


    一、新建SpringBoot项目

    1.新建项目,选择Spring Initializr

    2.设置项目基本信息

    3.勾选依赖界面。我们勾选Web→Spring Web。(依赖是什么?我们到4.2节再说)

    4.指定我们的项目名和项目路径

    5.此时可以看到idea为我们创建的项目结构

    简单说一说我们SpringBoot的项目结构,如图:

    红色框:java文件夹

    在这个文件夹中,主要写我们的业务代码。包括controller、service、dao,还有各种工具类等等,以及我们的程序主入口:xxxApplication。

    蓝色框:resources文件夹

    在这个文件夹中,有我们的全局配置文件application.properties,一般我们也会放一些其他的配置文件,比如mapper.xml(暂时不用着急在意它是什么)等等。如果是前后端不分离项目,在resources文件夹中还会放一些静态页面资源(.html等)。

    绿色框:test文件夹

    在这个文件夹中,主要写我们的软件测试代码。这个文件夹基本上不在我们专栏研究的范围内。

    橙色框:pom.xml

    这是我们管理项目依赖的文件夹,具体解释请看4.2节。在这一节中我们并不会用到它。


    二、修改application.properties配置文件

    首先,application.properties配置文件是什么?

    这是我们SpringBoot项目的默认配置文件,在这个文件里可以设置我们的服务启动端口、数据库连接信息(连到哪个数据库)、资源文件路径(比如mybatis的xml路径)、编码、时区等等等等,很多适用于整个项目的配置都会在这里写。

    不要想得太复杂,我们从本质的角度来思考一下:

    .properties其实也就是一种文件格式,完全可以用我们的txt文本文档或者.xlsx表格文档等等来替代。然后我们的程序读取这个文档,比如读取这个文档里的数据库配置信息,那么我们的程序也就知道应该去访问哪个数据库。

    当然,我们也完全可以丢弃配置文件,把数据库配置等等信息直接写到代码里。但这就产生了一个硬编码的问题,当我们要修改配置的时候就要回到代码去修改,非常不便。

    不仅是SpringBoot,各种流行的框架都会考虑这一点,把全局配置信息分离出来,放到一个或几个单独文件里。

    application.properties就是这样的文件。

    但是一般应用场景中,我们会用.yml来替代.properties文件。简单举个例子讲一下.properties和.yml的区别:

    对于同样的数据库配置:

    .properties的配置方式:

    # 数据源配置 spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver

    .yml的配置方式:

    # 数据源配置 spring:datasource:url: jdbc:mysql://localhost:3306/testusername: rootpassword: 123456driver-class-name: com.mysql.jdbc.Driver

    .yml文件采用缩进的方式,解决了.properties需要反复写前缀的麻烦之处。

    具体用.yml还是.properties来配置全凭个人喜好,笔者在这里会使用.yml来讲解~

    然后,现在先来改一下配置文件后缀:

    在application.properties上右键,Refactor→Rename

    在application.yml中输入以下内容,为我们的Hello World项目设置一下服务启动端口(如果不设置的话,默认也是8080):

    server:port: 8080

    注意:port后面的冒号后面要有空格。不然配置会失效。

    正确的写法:

    错误的写法:

    我们可以看到,如果冒号后面没有空格,port会变黑色。


    三、构建项目结构

    按照上篇的内容(STEP3.2 服务器对于HTTP请求的处理流程)我们应该有Controller、Service、Dao的分层,为项目添加结构如下:

    注:保持良好习惯,包名小写

    第一个SpringBoot程序只是写helloworld,所以service和dao层暂时用不到。但是保持良好习惯,文件夹可以先建在那里。


    四、写一个HelloWorld服务

    在controller包中新建一个类MyController.java,写入以下代码:

    import

    涉及到的两个关键注解,释义如下:

    (1)@RestController

    我们查看一下RestController的定义(Ctrl+鼠标左键点进@RestController可以看到)

    @Target

    @RestController是@ResponseBody和@Controller的集合(一个注解包含了两个注解,同时具有两个注解的功能)。

    @Controller

    @Controller方法可以修饰类,指定该类是一个控制器类。这意味着该类下的方法在返回时,会自动通过视图解析器解析(如果有解析器的话),返回页面资源。(参考我们的springboot-helloworld项目的myController2:springboot-helloworld项目)

    @Controller是前后端不分离的解决方案(页面通过后台来返回),不属于我们的重点内容。

    @ResponseBody

    该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。本质上就是把返回页面资源的控制器转变成返回数据(字符串、浮点数、json对象等等)的控制器。

    (2)@GetMapping

    我们查看一下@GetMapping的定义:

    @Target

    也就是说,如下这两种写法是等价的:

    @GetMapping@RequestMapping

    那么看到下面这个@RequestMappling的写法也就很好理解了。

    @GetMapping也就是指定请求方式为GET方式,里面传的参数也就是value值,代表请求的URL。

    换言之,用户通过"/hello"这个url发送一个GET请求,可以进入@GetMapping("/hello")修饰的方法public String hello()里,执行里面的业务逻辑并返回。

    最后运行我们的服务(在入口类SpringbootHelloworldApplication上右键运行),控制台会显示如下字样:

    会首先显示一个Spring的大图标,在倒数第二行会显示服务运行在8080端口上(支持http协议访问)

    打开浏览器输入localhost:8080/hello可以看到如下界面:

    至此,最简易的服务就算是搭建完成了~完结撒花~

    我们的helloworld项目的地址:

    springboot-helloworld

    总结

    以上是生活随笔为你收集整理的springboot静态网页放哪里_STEP4.1 第一个SpringBoot项目的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。