1 安装intellij idea
2 新建maven项目
2.1 Maven为项目的依赖关系的管理工具,就是管理要引用的jar包的工具
2.2 groupId:项目组织唯一标识,对应项目的目录结构,如com.demo
2.3 artifcatId:项目唯一标识,对应项目根目录的名称,如myDemo,结合groupId则项目路径为…/com/demo/myDemo/
3 修改pom.xml
3.1 Pom.xml为maven管理项目依赖包的配置文件
3.2 Parent下配置spring-boot-starter-parent
3.3 Dependencies下配置spring-boot-starter-web
3.4 Build下配置spring-boot-maven-plugin
4 建立源码的目录结构,在/src/main/java/目录下,按groupId+artifactId的路径建立源码路径/com/demo/myDemo/,最终为/src/main/java/ com/demo/myDemo/
4.1 Src为source,源码的意思
4.2 Main为应用程序入口的意思
4.3 Java为java代码的意思
5 在myDemo下建立Application.class类,如下
package com.demo.myDemo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args){
SpringApplication.run(Application.class, args);
}
}
5.1 一个java项目就是一个应用程序
5.2 main方法为这个应用程序的入口,他默认监听8080端口
5.3 当用户第一次请求程序时,tomcat调用此方法以启动程序,且只需启动一次
5.4 @SpringBootApplication注解是一个复合注解,包含
5.4.1 @Component注解
5.4.2 @SpringBootConfiguration注解
5.4.3 @EnableAutoConfiguration注解
6 myDemo下建立BlogController.java类,如下
6.1 @Controller注解表示该类是一个http请求的控制器,该类的所有被@RequestMapping注解的方法都会被用来处理对应的url请求
6.2 @RequestMapping注解表示uri地址映射,程序会根据uri来将请求映射到相应的类和方法,最终将请求交给某个方法来处理
6.2.1 Value属性,定义映射的uri地址
6.2.2 Method属性,定义请求的方式(get、post、put等)
6.3 @ResponseBody注解表示该方法返回的结果直接返回给浏览器(如果是对象则转换成json字符串),而不经过渲染处理
7 运行程序并访问
7.1 右键main并run
7.2 访问http://localhost:8080/blog/string调用的是@RequestMapping("/string")映射下的string()方法
7.3 访问http://localhost:8080/blog/html当使用get方式请求时调用的是@RequestMapping(value= "/html", method = RequestMethod.GET)映射下的html()方法
7.4 可以看到浏览器中得到了两个函数返回的字符串
8 返回html页面
8.1 增加方法如下
@RequestMapping("/show")
public String show(){
return "blog";
}
8.2 可以看到取消了@ResponseBody,取消后返回的blog就是页面名称,程序会自动到/src/main/resource/templates/下寻找blog.html页面
8.3 所以,新建templates文件夹
8.4 在templates下建立blog.html内容如下
8.5 为了实现读取html页面的功能需在pom.xml增加spring-boot-starter-thymeleaf依赖(thymeleaf是spring boot的模板引擎)
8.6 重新编译并访问http://localhost:8080/blog/show
8.7 程序监听到上面的请求后,依据@RequestMapping寻找到show方法,show方法返回blog字符串,程序再根据字符串到默认的/src/main/resource/templates/下寻找blog页面,并返回给客户端