Java真的不难(四十六)Spring Boot的入门
Posted 热爱飞行的小应学长
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java真的不难(四十六)Spring Boot的入门相关的知识,希望对你有一定的参考价值。
Spring Boot:
一、什么是Spring Boot?
我们知道前面学习的Spring框架需要写大量的XML文件去配置,而繁琐的配置,整合第三方框架的配置问题,导致了开发和部署效率的降低
简单的说: Spring Boot就是为了解决Spring缺点而生的,主要是简化了使用 Spring 的难度,去掉了繁琐的配置
Spring Boot的核心功能: 起步依赖,自动配置。起步依赖就是将具备某种功能的坐标打包到一起, 并解决了Spring的jar包冲突问题。自动配置就是Spring Boot在底层给我们自动做了一些配置,所以spring Boot项目不编写配置文件也可以正常运行。
二、为什么学习Spring Boot?
Spring Boot官网:http://spring.io/
通过官网可以看到这样一张图:
Spring Boot: Build Anything——构建任何内容
Spring Cloud: Coordinate Anything——协调任何事情
Spring Cloud Data Flow: Connect everything——连接任何东西
简单的说: Spring Boot旨在尽可能快地启动和运行,并且只需最少的 Spring 前期配置(在后面案例中就可以体会到)
三、如何快速创建Spring Boot
现在我们可以通过两种方式去创建一个Spring Boot项目:
一、通过官网去配置后下载Jar包,导入IDEA:
配置官网:https://start.spring.io/
如图所示:
一些基本的配置信息:
也可以添加Web框架支持:
最后即可下载Jar包,解压后用IDEA导入即可。
二、直接使用IDEA创建:
上面的那种方法效率不高,在实际业务中都是直接使用IDEA去创建:
新建项目:
其实一些配置信息都是和网站配置是一样的
完成后直接创建,就可以得到以下界面
我们发现通过这样创建的Spring Boot项目和我们之前项目的构建基本上是一样的,以及每个包的层次结构等等
然后执行Maven刷新,下载对应的依赖即可
四、第一个Spring Boot项目
Demo02Application 这个是已经帮我们生成好了,不需要做更改:
@SpringBootApplication
public class Demo02Application
public static void main(String[] args)
SpringApplication.run(Demo02Application.class, args);
接着我们只要去写一个控制层即可:
在controller目录下创建HelloController:
@Controller
@RequestMapping("/user")
public class HelloController
//调用业务,接收前端参数
@GetMapping("/hello")
@ResponseBody
public String hello()
return "hello";
到这里,我们就已经写完了!! 是不是很惊讶? 就写了这么点就可以运行吗? 是的没错,来看效果!!
打开Demo02Application,使用main方法启动:
若在控制台输出的是这样的结果,表示你启动成功啦
接着我们只要根据controller里面配置的URL到浏览器内输入即可:
我这里便是:http://localhost:8080/user/hello
结果:
当然也可以自己配置端口号(以及其他很多配置):
我们只要在resources/application.properties 下写这样一句话即可:
#更改默认的端口号
server.port=9090
pom.xml内依赖的解释:
<dependency>
<!--所有的SpringBoot依赖都是以spring-boot-starter开头-->
<!--web依赖,TomCat,dispathcherServlet,xml -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--单元测试依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<!--打jar包插件-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
五、Spring Boot 默认对Json的处理
首先在pojo下创建一个实体类user:
这里要给构造方法和get/set(很重要!!!)
public class user
private Integer id;
private String name;
private Integer age;
编写控制类UserController:
测试分别使用对象、列表、集合的返回对象,看Spring Boot是如何处理的
@RestController
@RequestMapping("/user")
public class UserController
//返回一个对象
@ResponseBody
@GetMapping("/user")
public user getUser()
return new user(1,"张三",25);
@RequestMapping("/userList")
public List<user> getUserList()
List<user> userList = new ArrayList<>();
userList.add(new user(2,"李四",18));
userList.add(new user(3,"王五",19));
return userList;
@RequestMapping("/userMap")
public Map<String,Object> getUserMap()
Map<String,Object> userMap = new HashMap<>();
user u = new user(4,"小王",21);
userMap.put("籍贯:","浙江杭州");
userMap.put("爱好:","运动");
userMap.put("技能:","Java");
return userMap;
测试:
分别输入三个URL:
http://localhost:8080/user/user
http://localhost:8080/user/userList
http://localhost:8080/user/userMap
分别在页面展示以下内容:
"id":1,"name":"张三","age":25
["id":2,"name":"李四","age":18,"id":3,"name":"王五","age":19]
"爱好:":"运动","籍贯:":"浙江杭州","技能:":"Java"
结论:方法不管是什么数据类型,Spring Boot都可以转成相应的 Json 格式
注意: 如果实体类内没有配置get/set方法,会报406错误,就是不能找到可以接受的类型,,即返回的格式不是期望接收的类型,导致了序列化失败,无法转化为json格式。
总之在使用Spring Boot后的感觉就是配置相比之前大量减少,提高了开发效率,这也就是Spring Boot的魅力吧!!!
好啦,本次文章到此结束,小伙伴的快去试试吧,去创建第一个Spring Boot项目吧!!冲冲冲
以上是关于Java真的不难(四十六)Spring Boot的入门的主要内容,如果未能解决你的问题,请参考以下文章
“全栈2019”Java多线程第四十六章:判断任意线程是否已持有写锁
Spring Boot(十六):使用Jenkins部署Spring Boot