springboot是什么
Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。
同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑
注1:敏捷式开发
注2:spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式, 就像maven整合了所有的jar包,spring boot整合了所有的框架
使用Idea配置SpringBoot项目
注意:
项目结构介绍:
java源文件夹中的Springboot01Application是整个项目的启动类
static:存放的是静态资源文件
templates:存放的项目所需的页面
application.properties:存放的是项目的全局配置信息
ps:如果项目结构有所缺失可能是网络原因,可重新创建下载
项目启动:
直接运行Springboot01Application
项目启动成功访问界面如下:
也可以写一个测试方法:
Springboot配置文件
内置属性
修改端口及添加项目名
获取自定义属性案例:
application.yml(就是application.properties,只是改了后缀名):
自定义类(HelloController):
package com.aurora.sprintboot01.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
/**
* @author Aurora
* @create 2020-11-27 16:47
*
* RestController=responsebody+controller
*/
@RestController
public class HelloController {
@Value("${user.uname}")
private String uname;
@Value("${user.pwd}")
private String pwd;
@RequestMapping("/hello1")
public String hello1(){
return "hello springboot!!!";
}
@RequestMapping("/say3")
public Map say3(){
Map map=new HashMap();
map.put("uname",uname);
map.put("pwd",pwd);
return map;
}
}
运行结果:
获取多个自定属性:
写一个属性封装类:
在pom.xml里配置依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
之后调用方法
package com.aurora.sprintboot01.controller;
import com.aurora.sprintboot01.configProperties.Demo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
/**
* @author Aurora
* @create 2020-11-27 16:47
*
* RestController=responsebody+controller
*/
@RestController
public class HelloController {
@Autowired
private Demo demo;
@RequestMapping("/say4")
public Demo say4(){
return demo;
}
}
运行结果: