作为一位菜鸡,只能不断学习学习学习!!!
4.0.0
com.springboot
springboot
0.0.1-SNAPSHOT
org.springframework.boot
spring-boot-starter-parent
2.1.8.RELEASE
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-test
org.springframework.boot
spring-boot-devtools
maven-compiler-plugin
1.8
org.springframework.boot
spring-boot-maven-plugin
配置完xml,右键->maven-> update project,等待jar包下载完成即可!
3. 启动项目
在src/main/java底下创建相关java包,用于编写java代码。创建完包,就开始启动项目。由于springboot内置tomcat服务器,只需在main方法启动即可。这里分享两种启动方法。
1)组合注解
package ffcs.cn.mayi.service;
import java.util.HashMap;
import java.util.Map;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@Controller
@EnableAutoConfiguration//理解为启动springboot
@ComponentScan("ffcs.cn.mayi.service")//扫包范围
public class Mayi2Service {
@RequestMapping("/hello")
@ResponseBody
public Map hello() {
Map map=new HashMap();
map.put("resMessage", "成功");
map.put("resCode", "200");
return map;
}
public static void main(String[] args) {
SpringApplication.run(Mayi2Service.class, args);
}
}
由于springboot默认端口为8080,启动完可以通过localhost:8080/hello访问
2)单注解
第一种方法可以看出我们需要写多个注解,为了方法,这里使用另一个注解,即@SpringBootApplication,这个注解我们可以通过追踪源码发现它是由@Configuration,@EnableAutoConfiguration和 @ComponentScan三个注解及其他一些注解组合而成,类似一个封装体。
package ffcs.cn;
import org.apache.catalina.core.ApplicationContext;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
//Spring Boot项目的核心注解,主要目的是开启自动配置 。
//等于@Configuration,@EnableAutoConfiguration和 @ComponentScan(默认扫描当前所在包)
@SpringBootApplication
@Controller // 标明这是一个SpringMVC的Controller控制器
public class ApplicationController {
@RequestMapping("/hello3")
@ResponseBody
public String hello() {
return "hello3 world";
}
public static void main(String[] args) {
SpringApplication.run(ApplicationController.class, args);
}
}
启动完可以通过localhost:8080/hello3访问
对于这种方式,需要注意的一个地方是该注解的扫包是默认扫当前启动类所在的目录以及该目录底下的所有文件,也就是说,位于该目录以外的controller类将不会被访问。所以可以将启动类放在src/main/java的根目录底下以便于可以访问其他的controller类!
spring:
http:
encoding:
force:true
charset:UTF-8
freemarker:
allow-request-override:false
cache:false
check-template-location:true
charset:UTF-8
content-type:text/html;charset=utf-8
expose-request-attributes:false
expose-session-attributes:false
expose-spring-macro-helpers:false
suffix:.ftl
template-loader-path:classpath:/templates
2)创建ftl文件
根据配置文件信息在src.main.resource底下创建templates文件夹,然后新建ftl文件,可以看出这里主要展示了姓名和年龄两个字段,接下来要做的就是从后端传数据过来
我的ftl
name:${name}
age:${age}
3)传参到前端
在springboot扫包范围内的class创建一个方法
@RequestMapping("/freemarker")
public String freemarker(Map resultMap) {
resultMap.put("name","小米");
resultMap.put("age","18");
List myList=new ArrayList();
myList.add("小白");
myList.add("小红");
//freemarker.ftl
return "freemarker";
}
然后启动项目,访问路径http://localhost:8080/freemarker
2. springboot和jsp的整合
1)配置文件
在src.main.resource底下创建applicaition.yml文件,指定jsp文件路径
spring:
mvc:
view:
prefix: /WEB-INF/jsp/
suffix: .jsp
2)创建jsp文件
在WEB-INF/jsp/底下创建jsp文件,随便输出数据
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
My JSP 'index.jsp' starting page
姓名:${name}
年龄:${age}
3)传参到前端
在springboot扫包范围内的class创建一个方法
@RequestMapping("/index")
public ModelAndView index(){
ModelMap map=new ModelMap();
map.put("name","小明");
map.put("age","18");
return new ModelAndView("index",map);
}
然后启动项目,访问路径http://localhost:8080/index
继续学习…未待完续…