一、核心配置文件

一个项目中 application.yml 和 application.properties 只能有一个。

(一)application.properties

# 设置内嵌Tomcat端口号server.port = 8081#设置上下文根server.servlet.context-path = /springboot

(二)application.yml

YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读, 容易和脚本语言交互的,可以被支持YAML. YML文件是以数据为核心的,比传统的xml方式更加简洁。

server:    port: 8081    servlet:        context-path: 

二、获取SpringBoot自定义配置的字段

(一)通过 @Value 注解读取自定义配置字段

配置 application.properties

# 设置内嵌Tomcat端口号server.port = 8081#设置上下文根server.servlet.context-path = /springbootschool.name = binSchoolwebsit=http://bninecoding.com

使用 @Value(“${school.name}”)

@Value(${school.name})private String schoolName;

(二)将自定义配置映射成对象

涉及注解:

 @Component // 将此类交给spring容器进行管理 @ConfigurationProperties(prefix = "school") @Autowired

配置 application.properties

server.servlet.context-path = /springbootschool.name = binSchoolschool.websit = binSchoolabc.name = binSchoolabc.websit = binSchool

创建 school 类:

@Component@ConfigurationProperties(prefix = "school")public class School {    private String name;    private String websit;    public String getName()  {        retutrn name;    }    public void setname(String name) {        this.name = name;    }    ...}

因为@Component这样做之后已经将 school 类加载到 spring 容器里了,所以使用时可以使用 @Autowired 注入进来:

public class IndexController  {    @Autowired    private School school;    @RequestMapping(value = "/say")    public @responseBody String say() {        return "school.name=" + school.getName() + "---school.websit=" + school.getWebsit;    }}

三、SpringBoot集成jsp

(一)环境集成

配置视图解析器, application.properties :

spring.mvc.view.prefix = /spring.mvc.view.suffix = .jsp

(二)使用 jsp

注:请教了做前后端的同学,现在基本不用 jsp 了,jsp 是后端做前端的问题,现在都交给前端做了,也就是迁到Vue了。

1. 配置接口

@RequestMapping(value = "/say")public ModelAndView say() {    ModelAndView mv = new ModelAndView();    mv.addObject("message","Hello,SpringBoot");    mv.setViewName("say");    return mv;}

2. 创建页面

访问新创建的页面:

四、集成 Mybatis

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

(一)添加Mybatis依赖,MySQL驱动(略)

(二)Mybatis Generator 自动生成代码(略)

在 renren-fast 项目中可以使用 renren-fast-generate 自动生成前后端的代码。

(三)Dao和Mapper

使用MyBatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper动态代理开发方法。

DAO层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。

Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。

使用mapper代理的方法来开发dao时,程序员只需要干两件事即可,比使用原始Dao开发更加:

1、编写mapper.xml映射文件 2、编写mapper接口(相当于dao接口)

五、SpringBoot 常用注解

@RestController

相当于控制层类上加 @Controller + 所有方法上加 @ResponseBody。

意味着当前控制层类中所有方法返回的都是JSON对象

@RequestMapping

@RequestMapping = @GetMapping + @PostMapping

  • @PostMapping :增加数据 使用
  • @DeleteMapping:删除数据 使用
  • @PutMapping : 修改数据 使用
  • @GetMapping : 查询数据 使用

那每一个接口都要区分 增删改查 吗?

工作中没有明确要求,用哪个都行,平时用得最多的是 Post

六、RESTful

REST 英文:Representational State Transfer ,它是一种架构设计的风格,但它并不是标准,它只是提出了一组客户端和服务器交互式的架构理念和设计原则,基于这种理念和原则设计的接口可以更简洁,更有层次。

任何的技术都可以实现这个理念,如果一个架构符合REST原则,就称它为RESTFul架构,RESTful中path尽量使用名词,不要使用动词。

比如我们要访问一个 http 接口: redisTemplate; @Override public void put(String key, String value) { redisTemplate.opsForValue().set(key,value); } @Override public String get(String key) { String count = redisTemplate.opsForValue().get(key) return count; }}