建设短视频网站,天津市做网站的公司,wordpress内网使用,网站开发后台目录 一.SpringBoot的概述
二.SpringBoot 特点
三.SpringBoot 的核心功能
3.1起步依赖
3.2自动配置
四.SpringBoot 开发环境构建
五.SpringBoot 配置文件
六.SpringBoot数据访问管理
七.springboot注解
八.springboot集成mybatis
九.springboot全局异常捕获与处理 一…目录 一.SpringBoot的概述
二.SpringBoot 特点
三.SpringBoot 的核心功能
3.1起步依赖
3.2自动配置
四.SpringBoot 开发环境构建
五.SpringBoot 配置文件
六.SpringBoot数据访问管理
七.springboot注解
八.springboot集成mybatis
九.springboot全局异常捕获与处理 一.SpringBoot的概述 Spring Boot 是由 Pivotal 团队提供的在 spring 框架基础之上开发的框架其设计目的是用来简化应用的初始搭建以及开发过程。 SpirngBoot 本身并 不提供 Spring 框架 的核心特性以及扩展功能只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说它并不是用来替代 Spring 的解决方案而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。 Spring Boot 以 约定大于配置程序界的规定大于配置文件 的核心思想从而使开发人员不再需要定义样板化的配置。它集成了大量常用的第三方库配置例如 RedisJpa RabbitMQQuartz 等等SpringBoot 应用中这些第三方库几乎可以零配置的开箱即用通过这种方式SpringBoot 致力于在蓬勃发展的快速应用开发领域成为领导者。 二.SpringBoot 特点 1.创建独立的 spring 应用程序 2.直接内嵌 tomcat、jetty 和 undertow 3.提供了固定化的“starter”配置以简化构建配置 4.尽可能的自动配置 spring 和第三方库 5.提供产品级的功能如安全指标、运行状况监测和外部化配置等 6.绝对不会生成代码并且不需要 XML 配置 三.SpringBoot 的核心功能 3.1起步依赖 起步依赖就是将具备某种功能的坐标打包到一起并提供一些默认的功能。 3.2自动配置 SpringBoot 的自动配置是一个 运行 时更准确地说是应用程序启动时的过程考虑了众多因素才决定 Spring 配置应该用哪个不该用哪个。该过程是 Spring 自动完成 的。 四.SpringBoot 开发环境构建 首先需要创建一个普通的 maven 项目 在 pom.xml 文件中添加以下配置 !-- 依赖的父级工程 -- parent groupId org.springframework.boot/ groupId artifactId spring-boot-starter-parent/ artifactId version 2.6.6/ version relativePath / / parent 根据自己的jdk版本 !-- 指定 jdk 版本 -- properties java.version 1.8/ java.version / properties !-- 添加基本的 springweb 依赖 -- dependencies dependency groupId org.springframework.boot/ groupId artifactId spring-boot-starter-web/ artifactId / dependency / dependencies !-- 打包插件 -- build plugins plugin groupId org.springframework.boot/ groupId artifactId spring-boot-maven-plugin/ artifactId version 2.6.6/ version / plugin / plugins / build 创建基本包目录,在包下创建一个启动类,如下所示: 创建基本包目录,在包下创建一个启动类,如下所示:
SpringBootApplication
public class NewsApplication {
public static void main(String[] args) {
SpringApplication.run(NewsApplication.class);}
} 图片如下 SpringBoot 集成 web 组件后, 内置了 tomcat 服务器 ,一个 springboot 应用相当于一个独立的服务,可以使用启动类中的 main 方法启动 springboot 程序.就会生成下面的springboot的logo 在线生成启动 logo:https://www.bootschool.net/ascii-art. 下载存放在 resources 目录下即可. 注意文件名必须为banner.txt 五.SpringBoot 配置文件 SpringBoot 使用一个全局的配置文件 配置文件名是固定的 , 必须为 application ,用来存储项目中需要用到的各种配置参数. 配置文件格式有两种,一种为 properties 格式,一种 yaml 格式。 application.properties 属性 文件 格式,内容为键值对 server.port8080 properties 格式比较简单,没有什么难度,在此我们以第二种 yaml 格式为例. application.yml yml 是 YAMLYAML Ain’t Markup Language语言的文件以数据为中心. yml 配置示例 server: port: 8080 yaml 基本语法 语法结构key 空格 value; 以此来表示一对键值对。 注意冒号后的空格不能省略否则会出错 以空格的缩进来控制 层级关系 只要是左边对齐的一列数据都是同一个层级的 字面量直接写在后面就可以字符串默认不用加上双引号或者单引号 以 # 作为注释符号. 案例: mybatis: type-aliases-package: com.hkt.news.model mapper-locations: classpath:mappers/*Mapper.xml configuration: map-underscore-to-camel-case: true cache-enabled: true log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 使用Value 注解标签将配置文件中的内容映射到类中的属性. Value(${user.name}) 六.SpringBoot数据访问管理
数据源配置
首先为了连接数据库需要引入 jdbc 支持在 pom.xml 中引入如下配置
添加依赖 dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-jdbc/artifactId /dependency 使用mysql数据库还需要添加mysql依赖 !--mysql-- dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version8.0.16/version /dependency 添加数据源之后为了和数据库连接我们还需要在 application.yml 中去配置信息 spring: datasource: url: jdbc:mysql://127.0.0.1:3306/数据库名?serverTimezoneAsia/Shanghai username: 用户名 password: 用户密码 driver-class-name: com.mysql.cj.jdbc.Driver springboot整合阿里数据源
首先需要导入阿里数据源的 .jar 包 !-- 阿里数据源 -- dependency groupIdcom.alibaba/groupId artifactIddruid/artifactId version1.1.10/version /dependency 在 application.yml 中去配置信息 //他们和url,username,password在一个层级中 type: com.alibaba.druid.pool.DruidDataSource initialSize: 5 #初始化时建立物理连接的个数 maxActive: 20 #最大连接池数量 七.springboot注解 springboot 实现自动装配的核心仍然是使用注解标签 SpringBootApplication 是 springboot 核心注解使用在启动类前。 其中包含 SpringBootConfigurationEnableAutoConfiguration ComponentScan.
Configuration 一般使用在拦截器的前面。 加入Configuration 注解表明这就是一个配置类。有一个 myBean()的方法并用Bean 进行注释返回一个 MyBean()的实例表明这个方法是需要被Spring 进行管理的 bean。Bean 如果不指定名称的话默认使用 myBean 名称也就是小写的名称。
Bean
相当于 XML 中的bean/bean,放在方法的上面而不是类意思是产生一个 bean,并交给 spring 管理。eg类似于之前写过的跨域问题
package com.hkt.news.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import java.util.Collections;
Configuration
public class CorsConfig {Beanpublic CorsFilter corsFilter() {CorsConfiguration corsConfiguration new CorsConfiguration();//1,允许任何来源corsConfiguration.setAllowedOriginPatterns(Collections.singletonList(*));//2,允许任何请求头corsConfiguration.addAllowedHeader(CorsConfiguration.ALL);//3,允许任何方法corsConfiguration.addAllowedMethod(CorsConfiguration.ALL);//4,允许凭证corsConfiguration.setAllowCredentials(true);UrlBasedCorsConfigurationSource source new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration(/**, corsConfiguration);return new CorsFilter(source);}
} 八.springboot集成mybatis 首先在 pom.xml 文件中导入依赖的 jar 包 dependency groupIdorg.mybatis.spring.boot/groupId artifactIdmybatis-spring-boot-starter/artifactId version2.1.4/version /dependency 下面在 application.yml 中配置信息 mybatis: type-aliases-package: com.hkt.news.model //模型类地址 mapper-locations: classpath:mappers/*Mapper.xml configuration: map-underscore-to-camel-case: true cache-enabled: true log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 最后还需要在启动类前加上 MapperScan(接口所在的包地址) 注解。eg 九.springboot全局异常捕获与处理 Springboot 对于异常的处理也做了不错的支持 它提供了一个 RestControllerAdvice 注解以及 ExceptionHandler 注解前者是用来开启全局的异常捕获后者则是说明捕获哪些异常对那些异常进行处理。eg
package com.hkt.news.util;import com.hkt.news.model.Result;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;RestControllerAdvice
public class GlobalExceptionHandler {/*** 全局异常处理*/ExceptionHandler(Exception.class)public Result globalException(Exception e) {Result result new Result(500,系统忙e.getMessage(),null);e.printStackTrace();return result;}
}若出现异常则打印错误信息。
兄弟姐妹们记得一键三连哦