1).编辑器:IntelliJ IDEA
2).maven:3.3.9
3).Spring Boot 1.4.7
一、新建项目(demo)
选择新建方式:Spring Initialzr
这里需要注意一下:社区版IDEA没有这个功能!
二、项目信息、选择版本(Java.1.8、Maven3.3.9)...
三、SpringBoot构建组件(在我机器上springBoot1.5.4配置freemarker包下载失败)
四、启动(找到这个文件,右键run)
第一次启动,提示404,接下来开始试着写一个控制器。
五、写控制器之前,先配置一下
demo\src\main\resources\application.properties
# server
server.port=8090
server.context-path=/
# freemarker
spring.freemarker.allow-request-override=false
spring.freemarker.cache=true
spring.freemarker.check-template-location=true
spring.freemarker.charset=UTF-8
spring.freemarker.content-type=text/html
spring.freemarker.expose-request-attributes=false
spring.freemarker.expose-session-attributes=false
spring.freemarker.expose-spring-macro-helpers=false
# .ftl contextPath
spring.freemarker.request-context-attribute=request
# mysql & jpa
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/demo
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.format_sql=true
spring.jpa.show-sql = true
六、控制器
新建一个Controller
demo\src\main\java\com\example\demo\TextController.java
@RestController #这个注解返回的是文本数据
等同于下面这样:
@Controller @ResponseBody
完整的代码段:
package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by saturn on 2017/7/15.
*/
@RestController
public class TextController {
@RequestMapping("/hello")
public String hello(){
return "hello world";
}
}
七、编写freemarkermo模板相关
demo\src\main\resources\templates\hello.ftl
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
${(msg)!"变量出错了"}
</body>
</html>
修改Controller
demo\src\main\java\com\example\demo\TextController.java
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Map;
/**
* Created by saturn on 2017/7/15.
*/
@Controller
public class TextController {
@RequestMapping("/hello")
public String hello(Map<String,Object> map){
map.put("msg","hello world");
return "hello";
}
}
码云:https://gitee.com/vmto/springboot-demo/