SpringBoot是什么?
****Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。
同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑
文件上传默认只支持2MB
注1:敏捷式开发
注2:spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,
就像maven整合了所有的jar包,spring boot整合了所有的框架****
使用Idea配置SpringBoot项目
切记要联网
因为是根据(依赖)这个网站创建
https://start.spring.io/
没有idea也可以在这个网站上面创建项目
并且可以在这个网站上卸载关于springboot的jar包
下载完成
里面的pom依赖就已经加了刚刚我们需要的Redis的jar包
而且springboot自带Tomcat,自带运行的web容器,不需要在下载Tomcat
接下来开始在idea里面配置一个springboot项目
项目名只能小写,并且连接网络
自己的项目需要声明jar包,要用什么就勾选什么,这里我们勾选上的是我们今天案例需要的
目录结构介绍
java源文件夹中的Springboot01Application.java是整个项目的启动类
static:存放的是静态资源的文件
templetes:存放的项目所需的页面
application.properties里面存放的是项目的全局配置信息
运行一下
Springboot配置文件
内置属性
application.properties
企业中一般把.properties文件后缀改位.yml
如图所示:
HelloController
代码如下:
package com.hc.springboot01.controller;
import com.hc.springboot01.ConfigurationProperties.MysqlEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
/**
* @author胡聪
* @site www.hc.com
* @company 公司
* @create 2019-11-24 19:15
* @RestController = @ResponseBody + @Controller
*/
@RestController
public class HelloController {
@Value("${user.uname}")
private String uname;
@Value("${user.pwd}")
private String pwd;
@Autowired
private MysqlEntity mysqlEntity;
@RequestMapping("/hello1")
public String hello(){
return "helloword springboot!!!";
}
@RequestMapping("/hello2")
public Map hello2(){
Map map = new HashMap();
map.put("code",200);
map.put("msg","springboot 访问成功!!!");
return map;
}
@RequestMapping("/hello3")
public Map hello3(){
Map map = new HashMap();
map.put("uname",uname);
map.put("pwd",pwd);
return map;
}
@RequestMapping("/hello4")
public MysqlEntity hello4(){
return mysqlEntity;
}
}
测试连接:
http://localhost:8080/hello1
http://localhost:8080/say1?name=zs
http://localhost:8080/say2/zzzz
http://localhost:8080/json
1
自定义属性
Application.properties中配置
server:
port: 80
servlet:
context-path: /
user:
uname: zs
pwd: 123456
age: 22
sex: nan
addr: hunan
添加新的pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
package com.hc.springboot01.configurationProperties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @author胡聪
* @site www.hc.com
* @company 公司
* @create 2019-11-24 19:44
*/
@Component
@Data
@ConfigurationProperties(prefix = "user")
public class MysqlEntity {
private String uname;
private String pwd;
private Integer age;
private String sex;
private String addr;
}
添加controler层的Java代码进行测试
package com.hc.springboot01.controller;
import com.hc.springboot01.configurationProperties.MysqlEntity;
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胡聪
* @site www.hc.com
* @company 公司
* @create 2019-11-24 20:10
*/
@RestController
public class HelloController {
@Autowired
private MysqlEntity mysqlEntity;
@RequestMapping("/say4")
public MysqlEntity say4() {
return mysqlEntity;
}
}