跳过正文

SpringFramework

3、OAuth2
·6637 字·14 分钟· loading · loading
Java SpringFramework SpringSecurity
OAuth2 # OAuth 2.0 是目前最流行的授权标准(协议),用来授权第三方应用,获取用户数据。
10、SpringBoot生命周期
· loading · loading
Java SpringFramework SpringBoot
9、全局异常处理
·3037 字·7 分钟· loading · loading
Java SpringFramework SpringBoot
全局异常处理 # 参数校验失败或业务操作抛出的异常,当然不可能再去手动捕捉异常进行处理,不然还不如用之前BindingResult方式呢。又不想手动捕捉这个异常,又要对这个异常进行处理,那正好使用SpringBoot全局异常处理来达到一劳永逸的效果!
1、SpringBoot
·8221 字·17 分钟· loading · loading
Java SpringFramework SpringBoot
Spring Boot # 概念 # Spring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。Spring Boot 以约定大于配置的核心思想,默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。同时它集成了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),Spring Boot 应用中这些第三方库几乎可以零配置的开箱即用。
3、Maven依赖
·1061 字·3 分钟· loading · loading
Java SpringFramework SpringBoot
Parent # <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.0.RELEASE</version> </parent> 常用依赖 # Web场景启动器 # <!-- Web场景启动器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> 单元测试 # <!-- 单元测试 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <!-- JUnit Vintage是为了兼容3和4的一个engine,排除 --> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> Mybatis场景启动器 # <!-- Mybatis场景启动器 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> Mbatis-Plus场景启动器 # <!-- Mbatis-Plus场景启动器 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version> </dependency> MySQL # <!-- MySQL --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.15</version> </dependency> Oracle # <!-- Oracle --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </dependency> Druid场景启动器 # <!-- Druid连接池场景启动器 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.6</version> </dependency> Lombok # <!-- Lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> </dependency> Redis场景启动器 # <!-- Redis场景启动器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> Thymeleaf场景启动器 # <!-- Thymeleaf场景启动器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> JSP解析器 # <!-- jsp依赖 --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> Fileupload文件上传组件 # <!-- Fileupload文件上传组件 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> fastjson # <!-- fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.7</version> </dependency> pagehelper分页插件 # <!-- pagehelper分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency> AOP # <!-- AOP --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> </dependency> Shiro # <!-- Shiro --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.0</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-all</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <version>1.2.2</version> </dependency> POI # <!-- POI --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>4.1.2</version> </dependency> Hutool # <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.8</version> </dependency> SpringBoot打包插件 # spring-boot-maven-plugin是Spring Boot提供的maven打包插件。可以将项目直接打包为可运行的jar包或war包。
2、Thymeleaf
·3672 字·8 分钟· loading · loading
Java SpringFramework SpringBoot
JSP的缺陷 # JSP就是一个Servlet ,生命周期:翻译,编译,加载,初始化,服务,销毁 Servlet一定要放置在Servlet容器中才可以运行,浏览器不能直接解析 JSP页面一般构成:HTML + CSS + JS + Java代码 + JSTL标记 由此的坏处: JSP必须要在Servlet容器解析成HTML,才可以返回到浏览器中(系统:不管是静态请求也好, 还是动态请求,都压到Tomcat服务器,这就可能导致Tomcat解决动态请求的能力有所降低) JSP必须要在Servlet容器解析成HTML,这就意味着百度,谷歌,以及其他的搜索引擎无法去收录 JSP从2015年之前,就开始走向灭亡,取而代之的是,HTML + 模板引擎 模板引擎 # 使用符号或者自定义标记 + 网页中不变的东西 = 模板引擎 模板引擎的作用: 将页面中动态的内容,使用标记或某些符号,进行静态的替换。从而做到:浏览器认为整个网页都是静态的内容(进而可以做到:浏览器缓存HTML,Nginx等服务器缓存HTML) 从而提升系统的整合响应性能 常见的模板引擎**:Freemarker,thymeleaf,velocity** Thymeleaf的特点 # Thymeleaf 模板引擎具有以下特点:
5、跨域处理CORS
·480 字·1 分钟· loading · loading
Java SpringFramework SpringBoot
要解决的问题 #
1、Swagger
·810 字·2 分钟· loading · loading
Java SpringFramework Swagger
Swagger在线文档技术 # 现在来讲,最主流的开发模式:前后端分离 前端编写页面,以及完成后端接口的调用 后端:提供数据接口,以及需要提交接口所对应的接口文档 参照的示例 #
8、日志
·816 字·2 分钟· loading · loading
Java SpringFramework SpringBoot
Spring Boot默认使用SLF4J作为日志门面,并集成了Logback作为日志实现。SLF4J(Simple Logging Facade for Java)是一个通用的日志抽象层,可以与多种日志框架结合使用,如Logback、Log4j、Java Util Logging(JUL)等。Logback是一个快速、灵活且功能强大的日志框架,是Log4j的继任者。
7、Transaction
·2084 字·5 分钟· loading · loading
Java SpringFramework Spring
事务 # 事务在逻辑上是一组操作,要么执行,要不都不执行。主要是针对数据库而言的,比如说 MySQL。事务是恢复和并发控制的基本单位。