Springboot:
是:由pivotal团队提供的全新框架,其设计目的是用来简化spring应用的初始搭建以及开发过程
作用:简化Spring的环境搭建和代码开发
使用原理:就是boot提前写好了一些maven的工程和jar包,程序员在创建maven工程的时候,只需要继承或依赖相应
的jar包或工程即可;
使用方式:1.idea直接创建
2.创建后引入坐标:
1.先按以前的方式创建普通的maven工程;
2.在创建好的maven工程引入boot相关坐标并继承boot工程即可
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>替换boot自带的服务器:只需要在我们自己的pom文件中,排除父工程中的tomcat插件,同时自己引入一个
新的jetty服务插件即可;
boot配置文件:
有三种格式的配置文件,名称固定的!
application.properties
application.yml(推荐)
application.yaml
从上到下,优先级依次降低;
修改服务器端口号(yml方式)
yml介绍:是YAML(YAML Ain 't Markup Language),一种数据序列化格式
特点:
优点:容易读
容易与脚本语言交互
以数据为核心,重数据化格式
YAML文件扩展名:.yml(主流)
.yaml
语法格式:大小写敏感
属性层级关系使用多行描述,每行结尾使用冒号结束
使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
属性值前面添加空格 (属性名与属性值之间使用冒号+空格作为分隔)
#表示注释
核心规则:数据前面要加空格与冒号隔开
读配置文件中的信息方式:3种方式
1.直接利用@value(key)逐个读;(了解)
2.直接利用Environment整个配置文件全读;(了解)
3.自定义JavaBean读(推荐)
使用自定义javabean读:1.自定义一个pojo;
2.给自定义的pojo加两个注解:
@Component @ConfigurationProperties (prefix="配置文件中的对象信息")
3.将来在使用的时候,可以直接利用自动注入 ,注入JavaBean对象即可
多环境开发启动方式:比如开发好了,在生产环境测一下
大体上分为两类:
1.直接利用在配置文件中配置的环境;
java –jar springboot.jar --spring.profiles.active=配置文件中配置的环境名
2.在启动boot工程的时候,临时指定参数;
java –jar springboot.jar --参数名=参数值
SprinBoot整合junit:
两步骤:1.导入坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>2.在测试类的上面添加一个注解:@SpringBootTest,在测试类中,需要什么资源,就让ioc自动注入
什么资源即可 ;
SprinBoot整合SSM:
整合思路:无需管理spring和springMVC,只需要配置一个连接池,用于整合mybatis并且将mybatis中的所有dao层的接口,
上面添加一个@mapper注解即可
具体步骤:1.利用idea创建boot工程,选择:Spring web,mybatis,mysql;
2.在yml配置连接池信息即可;
3.引入一些额外的依赖即可;
4.代码层次的改动:仅仅是将mapper或dao层的接口的上面添加一个@mapper注解;
文件上传:
概述:将本地文件,通过网络,上传到服务器所在的电脑上;
文件上传的方式有两种:服务器本地存储,网络云存储;
html页面完成文件上传的三要素:
1.必须有表单的post请求方式;
2.表单的提交方式multipart/form-data;
3.必须有一个上传的组件;
controller中代码实现:
实现思路:只需要给方法上添加一个MultipartFile类型的参数即可;
MultipartFile是SpringMVC提供的一个类,专门用于封装页面传递的文件对象的,
里面提供了一些获取文件名和获取输入流和本地上传的方法,
程序员直接面向对象的方法即可;
MultipartFile常用方法:
String getOriginalFilename();//获取原始文件名
void stansferTo(File dest);//将接收的文件存到磁盘文件中
long getSize();//获取文件大小, 单位:字节
InputStream getInputStream();//获取接收到的文件内容的输入流:
本地上传的controller 参考代码:
阿里云OSS存储:
概述: