springboot的优势: Spring Boot 核心的是 @EnableAutoConfiguration
注解了,它能根据类路径下的 jar 包和配置动态加载配置和注入bean。所以许多功能做成公共的自动配置的启动器(starters),其实 druid 连接池就是这么做的,它提供了针对 Spring Boot 的启动器:druid-spring-boot-starter。有了这个自动配置的启动器,我们就能非常简单的使用它,pom中添加starter启动器依赖,yum配置文件中添加配置,就可以使用相应注解实现相应功能了。
1、创建springboot应用,选中我们需要的模块 2、SpringBoot已经默认将这些场景配置好了,只需在配置文件中指定少量的配置就可以运行起来 3、自己编写业务代码 重点当然虽然springboot提供的这些启动器可以非常方便的使用,但是也不是所有的模块都使用springboot默认提供的,比如:servlet容器可以使用undertown、数据库连接池可以使用druid等
静态资源映射:
/webjars/**:classpath:/META-INF/resources/webjars/**下找资源; 解释webjars:以jar包的方式引入静态资源http:/www.webjars.org/ 举例:引入jquery的webjar后,启动项目后的访问jqueryjar包资源的路径:localhost:8080/webjars/jquery/***
/**:访问当前项目的任何资源,默认寻找的位置:classpath:/METE-INF/resources、classpath:/resources、classpath:/static、classpath:/public、项目根路径:/ 这五个文件夹被称为,静态资源的文件夹;
首页映射:
默认在静态资源文件夹下的index.xml文件,匹配localhost:8080/请求路径;
静态资源路径修改:配置文件配置:spring.resources.static-location=classpath:/hello/:静态资源文件夹为类路径下的hello包
springboot项目中覆盖,springboot默认的jar包版本号,方法:
在properties标签中配置,springboot默认管理jar包版本号的标签配置自己想用的标签 比如:
这里只是举几个例子
定制错误页面:在静态资源文件夹中新建error文件夹,在error文件夹中放400.xml、4xx.xml等,那么当发生相应的异常时,就返回相应的页面。一般不用。
定制错误的json数据,这在目前的项目中用的还是比较多的:
在统一处理异常类上加@ControllerAdvice注解,在方法上加@ExceptionHandler(UserNotExistException.class)那么当发生UserNotExistException异常时,就会执行该方法;
1)修改配置:修改与server有关的配置如:
server:
tomcat:
uri-encoding: utf-8
max-threads: 300
port: 8080
servlet:
session:
timeout: 7200
context-path: /enroll
servlet三大组件:
docker类似于maven都有中央仓库,可以从中央仓库pull软件镜像,docker pull 、查看镜像docker images、 删除镜像docker rmi同时可以通过docker rum -d --name 等启动docker,注意点:如果需要外部计算机访问,那么一点要将docker容器和系统端口通过-p命令打通, 如果是myql还需要指定密码,具体请看docker hub官网;。docker启动容器后,可以开启容器的软件,docker start 。
默认在配置文件中放schema.sql和schema-all.sql文件是自动加载的。可以使用默认导入数据库。
或者通过配置文件:spring.datasource.schema=classpath:department.sql,classpath:student.sql 这样默认在启动时会加载这两个配置文件;
引入其他数据源:
springboot默认支持tomcat、hikari数据源,但是也可以引入其他数据源,首先在pom文件中引入其他数据源的依赖,比如:druid的,之后再yml中通过sprint.datasource.type属性指定数据源;注意有一些配置在配置文件中配置是无法起作用的,需要使用数据库配置类,使用@Configuration标注配置类,同时在配置类中加入public DataSource druid(){return new DruidDataSource}的接口,方法名随便起,注意改方法使用@Bean标注和@ConfigurationProperties(prefix = "spring.datasource")标注该方法;
配置文件中mybatis.config-location=classpath:mabatis/mybatis-config.xml :指定全局配置文件的位置
mybatis.mapper-location=classpath:com/atguigu/mapper/**/*.xml :指定mapper映射文件的位置
mybatis.configuration.map-underscore-to-camel-case=true=true :开启驼峰命名
mybatis.type-aliases-package=com.atguigu.entity :指定映射的实体类的包路径
springdata提供了统一的api来对数据库访问层进行操作;统一的crud增删改查、排序、分页等相关操作;常用的整合有springdata jpa 操作关系型数据库、springdata redis 操作redis数据库、 springdata mongo操作mongo数据库
提供统一的数据访问模板类xxxTemplate;比如:MongoTemplate、RedisTemplate等