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类,如下

package com.demo.myDemo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/blog")
public class BlogController {

@RequestMapping("/string")
@ResponseBody
public String string(){
return "i am spring boot application";
}

@RequestMapping(value = "/html", method = RequestMethod.GET)
@ResponseBody
public String html(){
return "<html><head><title>Hello World!</title></head><body><h1>Hello World!</h1></body></html>";
}
}

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内容如下

<!DOCTYPE html>
<html>
<head>
<title>templates/blog.html</title>
</head>
<body>
<h1>templates/blog.html</h1>
<p> This is Content</p>
</body>
</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页面,并返回给客户端