SpringBoot实战Web开始到数据库访问、缓存、消息队列、分布式、安全等等

使用springboot:

如何理解springboot的自动配置:springboot将web mybatis mq redis 等应用抽象成独立的starter 做统一管理,简化配置,降低使用成本。springboot 主要通过@SpringBootApplication  @EnableAutoConfiguration @AutoConfigurationPackage 识别系统中的组件,通过AutoConfigurationImportSelector.class 通过读取springframework.boot.autoconfigure下的spring.factories配置文件下的各个starter的配置文件,引入框架的组件 ;

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等

一:web(WebMvcAutoConfiguration.java)

静态资源映射:

/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包版本号的标签配置自己想用的标签  比如:

<properties>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <java.version>1.8</java.version>

    <thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>

</properties>    这里只是举几个例子

springboot错误处理

定制错误页面:在静态资源文件夹中新建error文件夹,在error文件夹中放400.xml、4xx.xml等,那么当发生相应的异常时,就返回相应的页面。一般不用。

定制错误的json数据,这在目前的项目中用的还是比较多的:

在统一处理异常类上加@ControllerAdvice注解,在方法上加@ExceptionHandler(UserNotExistException.class)那么当发生UserNotExistException异常时,就会执行该方法;

定制和修改Servlet容器:

1)修改配置:修改与server有关的配置如:

server:
  tomcat:
    uri-encoding: utf-8
    max-threads: 300
  port: 8080
  servlet:
    session:
        timeout: 7200
    context-path: /enroll

servlet三大组件:

docker

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启动器:

配置文件中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

springdata提供了统一的api来对数据库访问层进行操作;统一的crud增删改查、排序、分页等相关操作;常用的整合有springdata jpa 操作关系型数据库、springdata redis 操作redis数据库、 springdata mongo操作mongo数据库

提供统一的数据访问模板类xxxTemplate;比如:MongoTemplate、RedisTemplate等

Springboot和redis的集成:https://www.cnblogs.com/superfj/p/9232482.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值