想必大家都一定用过spring框架,每次整合spring框架的时候总是会有无穷无尽的xml配置文件,第一次写配置文件的时候,大家还会抱着学习的心态认真读每一个配置,但是当我们每次在构建项目都要写同样的配置文件大家应该会觉得厌烦,尽管只是复制粘贴。那么现在你就不用担心了,使用springboot让你更简单的构建spring应用。
springboot让我们更加简单快速的构建spring应用,并且内置web容器(tomcat、jetty等)支持jar包的方式启动一个web应用。
本节主要目标是通过构建一个简单的SpringBoot项目,实现一个hello word接口。通过这样一个简单的例子让我们对springboot有一个了解。
1、访问 http://start.spring.io/
2、选择maven
构建、使用java
语法、并且SpringBoot
版本为2.0.4
具体如图:
image.png
3、点击Generate Project
下载构建成功的项目压缩包
解压完成之后我们就可以通过IntelliJ IDEA开发工具导入到工程,
1、打开idea选择new
-> project
-> SPRING INITIALIZR
idea构建
2、在ProjectSDK选择jdk8
3、点击next
输入gourpId artifactId
然后继续next
一直到完成就可以
image.png
其实大家看的出来,两种方式都是一样的,只不过用idea省去了我们手动下载介绍并且导入的步骤,稍显方便。
image.png
关键目录解释
/src/main/java/
存放项目所有源代码目录/src/main/resources/
存放项目所有资源文件以及配置文件目录/src/test/
存放测试代码目录其中生成的Chapter1Application和Chapter1ApplicationTests类都可以直接运行来启动当前创建的项目。
打开pom.xml 添加spring-boot-starter-web 即可
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
在src/main/java
目录下的chapter1
包下新建一个HelloWorldController.java
文件
@RestController
@RequestMapping("/hello")
public class HelloWorldController {
@GetMapping
public String hello() {
return "hello world";
}
}
其中
@RequestController
是一个复合注解 ,大家按住ctrl看源码会发现 @RequestController = @Controller +@ResponseBody
那么它的作用就不言而喻了,代表当前类是一个控制器并且返回所有的方法将会返回json
数据双击打开Chapter1Application
文件启动。
image.png
从图中可以看出日志打印启动tomcat服务的端口是8080 ,代表启动成功。
打开浏览器访问http://localhost:8080/hello
image.png
那么有时候我们的8080端口被占用了,那么就会启动失败,提示端口被占用,如何改变springboot
启动的默认端口呢?
打开application.yml
这时候大家就会问了 不是application.properties
吗 其实yml文件也是配置文件的一种,它的书写简洁,我比较喜欢。
yml写法
server:
port: 9090
properties写法
server.port=9090
上面的代码就是设置web服务启动的端口了。
通过这次学习,我们了解了springboot
如何启动一个web
服务,并且如何更改web
服务启动的默认端口。