Spring核心-ApplicationContext的加载过程
我们在使用 Spring 的时候,一般来说都会通过这个方式来实例化一个applicationContext
1ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath*:applicationContext.xml");
接下来我们就一步步的来看看applicationContext的加载过程
#ClassPathXMLApplicationContext
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071public class ClassPathXmlApplicationContext extends AbstractXmlApplicationContext { private Resource[] configRe ...
第十四篇-SpringBoot2-x整合MyBatisGenerator
在这里简单介绍一下如何整合Mybatis自动生成代码的插件MybatisGenerator
引入插件需要在pom.xml文件中的<build><plugins></plugins></build>中加入以下设置
12345678910111213141516171819202122 <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <!-- 添加一个mysql的依赖,防止等会找不到driverClass --> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-con ...
SpringMVC入门
#Dispathcer前端控制器,所有请求都需要通过它来进行统一分发
#HandlerMapping根据 URL 请求寻找对应的标识有@Controller的具体处理类
#HandlerAdapter根据 Handler 来找到支持它的 HandlerAdapter,通过 HandlerAdapter 执行这个 Handler 得到 ModelAndView 对象
#Handler对 Controller 的 Bean 本身和请求 Method 的包装
#ViewResolver把逻辑上的视图名称解析为一个真正的视图返还给客户端
#View即视图本身
第十三篇-SpringBoot-2-x整合Mybatis以及通用Mapper的问题
今天听说在 SpringBoot 整合 mybatis 和通用 mapper 的时候会产生一个奇怪的问题,即执行 sql 语句的时候会找不到主键,比如下面这个样子
1234567//这是我要执行的方法,很明显就只是查询user表中的所有数据userMapper.selectAll();//结果是这样的2018-11-20 16:17:54.111 DEBUG 10640 --- [nio-8111-exec-1] p.gabriel.mapper.UserMapper.selectAll : ==> Preparing: SELECT username,password FROM user2018-11-20 16:17:54.111 DEBUG 10640 --- [nio-8111-exec-1] p.gabriel.mapper.UserMapper.selectAll : ==> Parameters:2018-11-20 16:17:54.129 DEBUG 10640 --- [nio-8111-exec-1] p.gabriel.mapper.U ...
第十二篇-SpringBoot-2-x数据校验
#介绍在项目的过程中,对于参数的校验是必须的,如果参数比较少的话我们可以直接通过代码进行校验,但是数据较大时再用这个方法就比较笨重了,接下来就该我们的主角Validation闪亮登场了####pom.xml
1234567891011121314151617<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> ...
第十一篇-SpringBoot-2-x整合Swagger2
程序猿最烦两件事,第一件事是别人要他给自己的代码写文档,第二件呢?是别人的程序没有留下文档。
程序员最讨厌的四件事:写注释、写文档、别人不写注释、别人不写文档……
关于写文档这个事情,争论已久,今天就介绍一个解决这个问题的东东,Swagger。这里介绍的是由程序员 DD 翟永超提供的spring-boot-starter-swagger关于其详细设置在文章底部。
pom.xml1234567891011121314151617181920212223<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 引入swagger2 --> <dependency> <groupId>com.spring4all</gro ...
第十篇-SpringBoot-2-x发送邮件
相信大家之前都写过发送邮件的例子,还记得被密密麻麻的代码包围的恐惧吗?今天介绍一下 SpringBootMail 来发送邮件,体验五六行代码就完成功能的快感!
pom.xml123456789101112131415161718192021<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId& ...
第九篇-SpringBoot-2-x全局异常处理
关于对异常的处理也是我们在开发过程一个比较大的问题,今天我们就来看看 SpringBoot 中如何处理异常。
TempException.java1234567891011121314151617181920package com.priv.gabriel.exception;import lombok.AllArgsConstructor;import lombok.Data;/** * Created with Intellij IDEA. * * @Author: Gabriel * @Date: 2018-10-23 * @Description: */@Data@AllArgsConstructorpublic class TempException extends RuntimeException { private String code; private String message;}
需要继承 RuntimeException 事物才会进行回滚GlobalExceptionHandler.java123456789101112131415161 ...
第八篇-SpringBoot-2-x日志配置
在应用中如何使用日志一直以来都是一个问题,前些年流行用 AOP 的方式在主要方式上切进去,最近几天又看到一篇博文证明了使用这个方式是很不科学的,所以自己记录一篇关于日志的理解吧。首先关于选用哪种日志也是纠结了半天,log4j,log4j2,slf4j,最终还是选择了 LogBack 来记录日志,为什么呢,因为这个是 SpringBoot 自带的呀…
在 SpringBoot 中 LogBack 是作为默认的日志依赖关于他的配置的只需要在src/main/resource下面新建一个logback-spring.xml就可以了。为什么是logback-spring.xml而不是logback.xml呢,因为这个文件可以针对不同的profile使用不同的日志配置###logback-spring.xml
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 ...
第七篇-SpringBoot-2-x集成Lombok
之前写了一大堆代码,手都写软了,突然发现我们之前写的代码是这样的
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061package com.priv.gabriel.entity;/** * Created with Intellij IDEA. * * @Author: Gabriel * @Date: 2018-10-14 * @Description: */public class User { private long id; private String username; private String nickname; private int age; public long getId() { return id; } public void setId(long id) { this.i ...