捕鱼网站建设,丹东市网站开发公司,网站维护工程师薪酬,阿里云网站建设素材开发环境配置
JDK 1.8、Maven 3.8.8、 IDEA CE 2023.2
框架介绍
Spring Boot 是由 Pivotal 团队提供的全新框架#xff0c;其设计目的是用来简化 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置#xff0c;从而使开发人员不再需要定义样板化的配置…开发环境配置
JDK 1.8、Maven 3.8.8、 IDEA CE 2023.2
框架介绍
Spring Boot 是由 Pivotal 团队提供的全新框架其设计目的是用来简化 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置从而使开发人员不再需要定义样板化的配置。简而言之Spring Boot 通过提供默认配置的方式整合了所有的框架让我们可以更加简单、快速、方便地构建应用程序。
创建 Spring Boot 项目
首先使用 IDEA 创建普通的 maven 项目项目创建完成依赖下载完毕后修改 pom 文件增加 Spring Boot 依赖如下所示
!--Spring Boot的依赖管理--
parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.6.2/versionrelativePath/ !-- lookup parent from repository --
/parentdependencies!--web 对应的依赖--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency
/dependenciesspring-boot-starter-parent 是 Spring Boot 项目用于管理各类组件依赖它仅仅是管理版本的并不会导入依赖所以还需要引入 web 相关依赖这里无需对 web 依赖填写版本因为已引入 Spring Boot 版本 2.6.2在它的统一pom 文件中已经对所有的经常使用的模块做了统一的依赖管理。
创建启动类
创建启动类例如 DemoApplication并对该启动类增加 Spring Boot 注解及 main 方法如下
SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class,args);}
}
运行 main 方法最简单的 Spring Boot 服务即正常启动默认的服务地址与端口号为http://localhost:8080
Controller 开发
Controller 介绍
Controller 是 MVCModel-View-Controller架构模式中的一部分用于处理用户请求和控制应用程序的行为当用户发送请求时应用程序的前端控制器如 Servlet 或 Spring MVC 框架会将请求路由到适当的 Controller 方法进行相关处理。Controller 分为 Controller 、 RestController两者主要区别 RestController 相当于 Controller 和 ResponseBody的组合可以直接返回 JSON、XML 等数据格式的响应结果 Controller 一般用来处理视图需要配合模板引擎返回视图 RestController 不能使用视图解析器返回视图只能返回数据格式的响应结果
最简单的 Controller
RestController
//定义Controller路径
//RequestMapping(my)
public class MyController {GetMapping(test)//RequestMapping(value /test,method RequestMethod.GET)public String helloWorld(){return hello world:new Date();}}注解说明
创建 MyController 类并对该类增加 RestController 注解对该类增加自定义方法并对自定义方法添加注解
类的注解RestController、RequestMapping(my)
RestController 上文作介绍添加该注解后即表明该类可以用来处理用户请求当用户发送请求时前端控制器会将请求路由到适当的 Controller 方法进行相关处理如果希望普通的 Java 类正常处理用户请求该注解为必须项
RequestMapping(my) 是对该 Controller 类增加的自定义路径正常的 web 项目一般会有多个模块为了对不同的模块进行区分会对不同的模块服务访问细分路径。例如该 Controller 类 未增加 RequestMapping 注解时服务访问地址为http://localhost:8080/test 增加 RequestMapping 注解时服务访问地址为http://localhost:8080/my/test
方法的注解RequestMapping、GetMapping
上文示例中的自定义方法 helloWorld 如果想被前端控制器匹配到需要增加方法注解RequestMapping 或GetMappingGetMapping 相当于 RequestMapping 其中 method 为 GET属于该注解的简化用法
GetMapping(test) 等价于 RequestMapping(value /test,method RequestMethod.GET)
其他几类请求POST、DELETE 等同理例如 POST请求
PostMapping(seedInfo) 等价于 RequestMapping(value /seedInfo,method RequestMethod.POST)
value 值是该自定义方法是的服务访问路径如http://localhost:8080/my/seedInfo 用来与其他自定义方法区分
启动服务在浏览器或 PostMan 中访问以上服务即可正常响应返回信息
请求携带参数
对于自定义方法我们可能会处理一些实体类例如
public class User {private String name;private int age;private String gender;public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender gender;}
}自定义方法
GetMapping(seedInfo)
//PostMapping(seedInfo)
public User seedInfo(User user){return user;
}
对于 GET 请求请求携带参数的方式如http://localhost:8080/my/seedInfo?namexiaohongage10gendergirl
服务启动后使用 Postman 访问以上请求相应信息如下 如果请求携带的参数没有匹配到所需的参数所需的参数将返回该类型的默认值例如不携带参数 age、gender POST 请求携带参数此时自定义方法的注解应修改为 PostMapping 否则请求会 405 报错正常修改后请求如下 POST 请求未包含所需参数服务响应返回值同理返回默认值
Spring Boot 配置文件
老版本的 Spring Boot 项目使用 application.properties 保存配置信息新版本的使用 application.yml 保存配置信息 ,application.yml 文件保存 src/main/resources 目录中如果没有该文件可以先新建该文件。在 在 IDEA 中也可安装、使用插件 Convert YAML and Properties Flie 将 application.properties 转换为 application.yml 右键点击 application.properties 文件选择最上方的插件处理按钮即可完成转换 application.yml 配置信息可以配置非常多的信息这里只做最简单的使用更多是使用信息可依据项目需求网络查找使用方式。这里我们如果希望修改 web 服务的路径及自定义端口可以这样配置
server:port: 8888servlet:context-path: /simple
以上文的请求为例http://localhost:8080/my/seedInfo 需要修改为 http://localhost:8888/simple/my/seedInfo 才能正常访问请求 开源项目地址GitHub - liuweiqiang2016/SpringBootDemo: SpringBoot 框架入门学习
参考文档
springboot快速入门
SpringBoot中Controller用法及传参