快速创建项目
打开idea,新建Project,选择apring initalizr,选择jar
其他信息随意配置,修改完成后点击next,在接下来选择导入web依赖
点击finish,等待项目加载完毕,然后打开项目结构,打开src/main/java/com.xxx/xxxApplication文件,给该添加代码,格式如下
package com.zhufenghua.spboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@RestController // 添加此注解
public class SpbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpbootApplication.class, args);
}
// 添加以下方法
@GetMapping("/hello")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
return String.format("Hello %s!", name);
}
}
在添加完一个@RestController后,该类中的所有方法在return后会直接返回给浏览器,而不经过页面控制器渲染
注解@GetMapping是@RequestMapping和method=get的缩写,表示接收get请求的servlet的注册地址,
在hello方法中,使用了@RequestParam注解获取一个值为name的参数,默认是world,方法将返回hello name字符串。
启动xxxApplication,程序开始运行,会打印一系列信息,注意观察,发现默认部署在8080端口,此时我们打开浏览器,访问 localhost:8080/hello
我们可以指定name参数,例如 localhost:8080/hello?name=heihei
快速运行的jar包
springboot选择jar包时,内置了tomcat,这样的缺点是会消耗大量的内存,毕竟一个项目就内置了一个tomcat,但好处是更方便使用。(从这里看出SpringBoot和SpringMVC模式完全不同,MVC只是一个servlet,而SpringBoot则使用main方法启动进而创建Tomcat实例)
使用maven对springboot进行打包,我们会在target目录下得到2个额外的东西,分别是
- 项目名-xxx.jar
- 项目名-xxx.jar.original
其中,.jar.original是表示没有内置tomcat的源代码,而.jar则是可以直接运行的jar包
接下来,打开cmd,使用以下命令就可以直接运行
java -jar 项目名xxx.jar
我们发现,因为内置了tomcat,我们无需部署在tomcat中,而是用一行命令就可以运行
springboot项目结构
虽然springboot基于maven,但它的项目结构,和maven有一点区别
它的项目结构是这样的
- Java –> 存放java文件
- resources –> 其他文件
- application.yml(properties)
- static –> 静态资源
- templates –> 动态模板文件
其中,application.properties指的是springboot的主配置文件,该文件默认为空,我们可以指定一些启动配置,例如配置启动端口为8081
server.port=8081
静态文件,指的是html,css,js等纯静态文件
动态模板,指的是视图控制器,比如jsp,thymleaf等
问:mvnw是什么?
mvnw是springboot项目在控制台启动的命令行工具,在linux/macos可以这样用
./mvnw spring-boot:run
在windows中
mvnw spring-boot:run
它是命令行启动工具,如果是在idea等工具中,就不必要了,直接点击run即可。
本篇完,还有疑问?留下评论吧