【Java Web】-> Spring Boot ->第一个 Spring Boot 程序

本文介绍了如何创建并运行第一个Spring Boot Web应用程序。首先确保使用Java 8及Maven 3.3以上版本。然后,创建一个Maven项目,并引入Spring Boot的Web依赖。主程序类通过@SpringBootApplication注解标识,启动方法使用SpringApplication.run()启动。业务代码中,创建一个控制器类,使用@RestController和@RequestMapping注解处理HTTP请求。通过修改application.properties文件可以调整配置,例如更改服务器端口号。Spring Boot的应用可以通过打包成fat jar运行。最后,提到了组件扫描的注意事项,当类不在主程序包内时,需要添加@ComponentScan注解进行扫描。
摘要由CSDN通过智能技术生成

Spring Boot

首先我们需要注意版本的问题,Spring Boot 要求的版本是 Java 8 及以上,Maven 需要 3.3 以上。

在这里插入图片描述
然后我们来建一个 Maven 工程,第一个程序我们可以根据 官方文档 来做。

首先需要引入一个父工程 Spring Boot 。
在这里插入图片描述

	<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.3</version>
    </parent>

我们现在要开发 Web 场景的话,就需要导入一个 Web 依赖。
在这里插入图片描述

	<dependencies>
	    <dependency>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-starter-web</artifactId>
	    </dependency>
	</dependencies>

可以看到,我们虽然只引入了这一个依赖,但是实际上导入了非常多的包。
在这里插入图片描述
接着按照文档,我们就可以直接来写代码了。

首先我们来写一个主程序类,这是Spring Boot 程序的入口。

在这里插入图片描述
在类上我们需要添加一个注解 @SpringBootApplication,表示这是一个主程序类,然后在 main 方法中,调用 SpringApplicationrun 方法,将这个主程序类以及 main 方法的参数传递进去,这样一个主程序就写好了。

然后我们来写业务代码。

在这里插入图片描述
我定义了一个 HelloController 类,先写了一个简单的方法,在方法上添加了 @RequestMapping 注解,表示映射浏览器的 hello 请求。

我们希望浏览器发出 hello 请求的时候,会返回给浏览器一个字符串 "Hello Spring Boot",所以我们还需要再添加一个注解。

由于这个类可能还要处理多个请求,都是要通过字符串返回给浏览器,所以我们可以直接将这个注解写到类上。代表这个类中的每一个方法的返回数据都是直接写在浏览器上的。
在这里插入图片描述
实质上这两个注解 Spring MVC 也有一个新注解可以替代。
在这里插入图片描述
所以我们可以直接写一个 @RestController 注解。
在这里插入图片描述
然后我们直接可以在主程序类里启动 Spring Boot。
在这里插入图片描述
如果这里启动失败,可以参考下面的链接👇

Spring Boot 启动异常,8080端口被占用

我们可以直接进入对应的 url 来看结果。
在这里插入图片描述
这和我们定义的方法是一致的。
在这里插入图片描述
可以看到,我们既不用管Tomcat,也不用管其他端口号之类的配置,只写了几行代码就完成了一个web程序。

在Spring Boot 中,我们的所有配置都可以整合到 resources 下一个配置文件里。
在这里插入图片描述
这个配置文件的名称是固定的,就是 application.properties。在这个文件中我们可以修改 Tomcat 和 Spring MVC 等的设置。IDEA 会有自动的提示。

在这里插入图片描述

比如我们修改一下服务器的端口号
在这里插入图片描述
重新启动一下程序,然后我们进 8322 的url。
在这里插入图片描述
那么这个配置文件中都能配置哪些东西呢?我们可以参考一下 官方文档
在这里插入图片描述
这是Spring Boot 对配置的一个简化。同样,我们部署也可以被简化。

我们可以创建一个可执行的 jar 包。
在这里插入图片描述
只要引入 Spring Boot 提供的插件,就可以将项目打成一个 jar 包,这个 jar 包自带了我们整套的运行环境,一般称其为 fat jar,小胖 jar。这样我们直接就可以运行它。
在这里插入图片描述

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

然后我们可以将这个项目打个包试一试。
在这里插入图片描述
可以看到 jar 包已经生成了。
在这里插入图片描述
然后我们直接在 cmd 窗口运行这个 jar 包。

在这里插入图片描述
在这里插入图片描述
可以看到结果是成功的,小胖 jar 被直接运行了。

这里需要注意一点,我们并没有开启组件扫描功能,是 Spring Boot 帮我们开启的,会自动地扫描主程序类以及主程序类所在包中所有的类。也就是说,我们的注解有效性仅存在所标记的类和主程序类在同一个包中,否则是无效的。

在这里插入图片描述
如果我们的 controller 包在 boot 包外的话,controller 包中的类是不会被组件扫描的,被注解也没有用。

比如我们再定义一个类,把它放在主程序类所在的 boot 包外。
在这里插入图片描述
这时再运行一下程序。

在这里插入图片描述
可以看到报了 404 未找到。

那怎么才能扫描到主程序包外的类呢?这里还需要一个参数。在主程序中添加一个属性 scanBasePackages
在这里插入图片描述
结果就 OK 了,该类正常的被扫描到了。
在这里插入图片描述

相信经过这个简单的例子,大家已经了解到 Spring Boot 的强大之处了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值