需求:浏览器发送 /hello 请求,响应 Hello,Spring Boot 2
创建 maven 项目 boot-01-helloworld
如果想用Spring Boot来进行开发 需要在pom中创建父工程
<!-- Spring Boot 父工程 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
</parent>
如果开发web应用,需在pom中导入web依赖
<dependencies>
<!-- Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
导入之后,打开我们左边的依赖,可以看到我们所用的一些 jar 包基本全部都进来了,Spring、 SpringMVC、日志之类的等等
接下来我们需要编写一个启动类
创建启动类 cn.xs.boot.MainApplication 类名是自定义的,最好见名知意,在类上标注注解
SpringBootApplication,作用相当于告诉我们的框架,这是一个 Spring Boot 应用
/**
* @Description:
* @Author: Myovlmx
* @CreateDate: 2022/12/05 下午 4:35
* @UpdateUser: Myovlmx
* @UpdateDate: 2022/12/05 下午 4:35
* @UpdateRemark: 修改内容
* @Version: 1.0*/
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @Description: 启动类,或者主程序类
* @CreateDate: 2022/12/05
* @UpdateRemark: 修改内容
* @Version: 1.0
*/
// 这是一个 Spring Boot 应用
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
接下来我们来创建 controller
创建类 cn.xs.boot.controller.HelloController
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @Description: Hello World
* @CreateDate: 2022/12/05
* @UpdateRemark: 修改内容
* @Version: 1.0
*/
@Controller
public class HelloController {
/**
* hello world
*
* @return
*/
@ResponseBody
@RequestMapping("/hello")
public String hello() {
return "Hello Spring Boot 2!";
}
}
在我们的 controller 中,如果当前 controller 处理器都给我们前端返回的是一个字符串响应结果,每个 方法就得都标注 ResponseBody,太麻烦,
解决方式1:
我们可以将 ResponseBody 直接标注到类上,表明我们类中 所有的方法都标有 ResponseBody 注解
解决方式2:
我们还可以在类上使用一个注解 RestController,来代替 Controller 和 ResponseBody
这样我们的小 demo 就写好了,那么我们的项目怎么运行呐?以前我们需要把项目部署到 tomcat,来
运行我们的项目,现在我们只需要运行主程序类中的 main 方法就可以了
Tomcat started on port(s): 9999 (http) with context path ''
Started SpringBoot01HelloworldApplication in 2.263 seconds (JVM running for 4.407)
当我们看到运行日志的这里,内置 tomcat 在端口 9999 运行了,项目访问名称为空字符串,项目运行花 费了4.407 秒,这样,我们的 Spring Boot 项目就运行成功了
打开浏览器,访问我们的项目 http://localhost:9999
这表示我们已经成功访问到项目了,来访问我们的 hello 请求
http://localhost:9999/hello
浏览器成功拿到我们后台返回的数据