SpringBoot学习-(1)第一个小例子

刺骨的言语ヽ痛彻心扉 2022-06-02 12:12 305阅读 0赞

也是刚刚接触SpringBoot不久,本系列博客仅作为学习笔记,记录学习的过程。
大牛可跳过。

1.springboot是什么

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

2.springboot的特点

  1. 创建独立的Spring应用程序
  2. 嵌入的Tomcat,无需部署WAR文件
  3. 简化Maven配置
  4. 自动配置Spring
  5. 提供生产就绪型功能,如指标,健康检查和外部配置
  6. 绝对没有代码生成和对XML没有要求配置

3.创建一个小例子

1)创建项目
使用maven创建一个项目
这里写图片描述
2)配置pom.xml文件
pom.xml配置文件怎么配呢,不知道!那么去官网看看怎么配置的!
这里写图片描述
从spring的官网我们看到spring已经给我们列出了最基本的配置。需要继承自spring-boot-starter-parent,这里做了基本的配置和依赖,所以只要在这里指定了版本,所以后面在引入其他依赖包的时候不用指定版本号,因为spring-boot会根据配置的spring-boot-starter-parent版本自动寻找并下载依赖。

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  2. <modelVersion>4.0.0</modelVersion>
  3. <groupId>com.boot</groupId>
  4. <artifactId>spring-boot-study</artifactId>
  5. <version>0.0.1-SNAPSHOT</version>
  6. <parent>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter-parent</artifactId>
  9. <version>1.5.9.RELEASE</version>
  10. </parent>
  11. <dependencies>
  12. <dependency>
  13. <groupId>org.springframework.boot</groupId>
  14. <artifactId>spring-boot-starter-web</artifactId>
  15. </dependency>
  16. <dependency>
  17. <groupId>org.springframework.boot</groupId>
  18. <artifactId>spring-boot-starter-test</artifactId>
  19. <scope>test</scope>
  20. </dependency>
  21. </dependencies>
  22. </project>

配置完之后,打开pom依赖。发现springboot自动为我们下载好了所有的jar包。这就是springboot简单的原因。
这里写图片描述

3)创建一个实体
UserInfo

  1. package com.tang.bean;
  2. public class UserInfo {
  3. private Integer id;
  4. private String userName;
  5. private String loginName;
  6. private String password;
  7. private Integer age;
  8. public Integer getId() {
  9. return id;
  10. }
  11. public void setId(Integer id) {
  12. this.id = id;
  13. }
  14. public String getUserName() {
  15. return userName;
  16. }
  17. public void setUserName(String userName) {
  18. this.userName = userName;
  19. }
  20. public String getLoginName() {
  21. return loginName;
  22. }
  23. public void setLoginName(String loginName) {
  24. this.loginName = loginName;
  25. }
  26. public String getPassword() {
  27. return password;
  28. }
  29. public void setPassword(String password) {
  30. this.password = password;
  31. }
  32. public Integer getAge() {
  33. return age;
  34. }
  35. public void setAge(Integer age) {
  36. this.age = age;
  37. }
  38. }

4)创建一个controller
UserInfoController

  1. package com.tang.controller;
  2. import org.springframework.web.bind.annotation.RequestMapping;
  3. import org.springframework.web.bind.annotation.RestController;
  4. import com.tang.bean.UserInfo;
  5. /** * 这里的@RestController相当于@Controller+@ResponseBody * @author Tang */
  6. @RestController
  7. public class UserInfoController {
  8. @RequestMapping("/getUser")
  9. public UserInfo getUserInfo(){
  10. UserInfo userInfo = new UserInfo();
  11. userInfo.setId(1);
  12. userInfo.setUserName("张三");
  13. userInfo.setLoginName("zhangsan");
  14. userInfo.setPassword("123456");
  15. userInfo.setAge(12);
  16. return userInfo;
  17. }
  18. }

当然也可以使用其他方式配置controller如:

  1. @Controller
  2. public class UserInfoController{
  3. @RequestMapping(value="/getUser")
  4. @ResponseBody
  5. public UserInfo getUserInfo(){
  6. UserInfo userInfo = new UserInfo();
  7. userInfo.setId(1);
  8. userInfo.setUserName("张三");
  9. userInfo.setLoginName("zhangsan");
  10. userInfo.setPassword("123456");
  11. userInfo.setAge(12);
  12. return userInfo;
  13. }
  14. }

或者

  1. @Controller
  2. @ResponseBody
  3. public class UserInfoController{
  4. @RequestMapping(value="/getUser")
  5. public UserInfo getUserInfo(){
  6. UserInfo userInfo = new UserInfo();
  7. userInfo.setId(1);
  8. userInfo.setUserName("张三");
  9. userInfo.setLoginName("zhangsan");
  10. userInfo.setPassword("123456");
  11. userInfo.setAge(12);
  12. return userInfo;
  13. }
  14. }

不过这里建议使用@RestController注解。

5)创建启动类
App
这里的App所在的位置是有要求的,单并不是严格要求。

  1. package com.tang;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class App {
  6. public static void main(String[] args) {
  7. SpringApplication.run(App.class, args);
  8. }
  9. }

6)启动
该怎么启动呢?没有web.xml,没有WebContent。
直接右键启动:run as ->Java Application即可
这里写图片描述
看到启动的端口是8080。

7)测试结果
访问路径:http://localhost:8080/getUser

这里写图片描述

getUser方法没有添加@ResponseBody,直接就可以将json返回(如果需要返回字符串,则只需要将返回值类型设置为String,返回String类型即可,这里不做展示)。
这是因为Springboot内部是通过jackson对对象进行解析的。

到此springboot的第一个小例子就介绍完了。有没有觉得很简单。。。

发表评论

表情:
评论列表 (有 0 条评论,305人围观)

还没有评论,来说两句吧...

相关阅读