自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

狼行千里吃肉

无论前程是喜是忧,我自无怨无悔

  • 博客(25)
  • 收藏
  • 关注

原创 基础5-自定义拦截器

基础自定义拦截器必须实现HandlerInterceptor接口:①preHandle方法:该方法在业务处理器处理请求之前被调用,在该方法中对用户request请求进行处理;如果程序员决定该拦截器对请求进行拦截处理后还要继续调用其他拦截器,或者继续让业务处理器去处理,则返回true,否则返回false;可以处理权限这块;②postHandle方法:该方法在业务处理器处理完请求后,DispatcherServlet向客户端返回响应之前被调用,可以对用户请求request进行处理;③afterC

2020-08-31 19:00:37 355

原创 基础4-数据转换/数据格式化/数据校验/国际化展示格式化错误、校验错误

<form/>表单提交时,其是如何与实体类进行一一映射的呢?映射过程中是如何实现数据类型转换、格式化、校验的呢?SpringMVC映射form表单过程如下:①SpringMVC主框架将ServletRequest对象以及目标方法的入参实例传递给WebDataBinderFactory实例,来创建DataBinder实例对象;②DataBinder调用装配在上下文中的ConversionService组件进行数据类型转换、数据格式化工作,将Servlet中的请求信息填充到入参对象中;

2020-08-27 20:57:00 422

原创 基础3-视图与视图解析器

请求处理方法执行完成后,最终返回一个ModelAndView对象,即便返回类型是String、View、ModelMap等类型,SpringMVC也会在内部将他们转换成一个ModelAndView对象,从而变成一个既包含逻辑名,又包含了模型对象的视图;SpringMVC通过视图解析器ViewResolver来得到视图对象View;视图View的作用就是渲染模型数据,将模型里的数据以某种形式呈现给用户,在设计层面为了实现视图模型和具体实现技术的解耦,MVC定义了org.springframework.we

2020-08-26 22:51:19 198

原创 基础2-MVC注解映射请求、请求参数、请求头

@RequestMapping映射请求(方法)Spring MVC使用@RequestMapping注解来为@Controller指定可以处理哪些URL请求;在@Controller的类定义、方法定义处均可使用该注解:①类定义处:提供初步的请求映射信息,相对于WEB应用的根目录;②方法定义处:提供更进一步的细分映射信息,相对于类定义处的URL;若类定义处未标注@RequestMapping,则方法处标记的URL就相对于WEB应用的根目录;当DispatcherServlet截获请求后,就通过

2020-08-25 15:21:09 386

原创 基础1-基础

2011年毕业的时候,当时MVC思想非常流行,从总体设计的思路来看,C指的是Struts、V指的是视图层(当时我用的是freemarker)、M用的是Spring;即便到了详细设计层面,每个模块的组成也是分为MVC这3部分。到了Spring MVC的时候,Spring根据MVC思想,一次性把这3个组成部分整合到一起,特别是Spring3.0之后就全面超越Struts2,成为最优秀的MVC框架。Spring MVC通过一套MVC注解,让POJO成为处理请求的控制器,而无须实现任何接口,且支持REST风

2020-08-25 15:20:27 174

原创 基础17-缓存

JSR107JSR是Java-Specification-Requests的缩写,意思是Java规范提案。JSR107中Java Caching定义了5个核心接口,分别是:CachingProvider,CacheManager、Cache、Entry、Expiry; 接口名称 接口作用 CachingProvider 定义了创建、配置、获取、管理、控制多个CacheManager,一个应用可以在运行期访问多个CachingP

2020-08-24 17:54:37 221

原创 基础16-启动过程

启动流程:初始化1、SpringApplication.run(SpringBootMainApplication.class, args);2、(new SpringApplication(primarySources)).run(args);3、new SpringApplication: public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) { .

2020-08-20 18:17:18 165

原创 基础15-访问数据库

如果Spring Boot整合最基本的JDBC的话,则需要经过如下步骤:第一步:引入对应的starter、驱动: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency&...

2020-08-19 17:54:38 315

原创 基础14-配置嵌入式Servlet容器

Spring Boot默认使用Tomcat来作为嵌入式的Servlet容器;如何配置默认的Tomcat容器方式1:基于Spring Boot官网文档说明来配置properties打开官网,根据properties找到:11. Server properties方式2:WebServerFactoryCustomizerXXXXCustomizer帮助开发者进行各种自定义配置;如何注册Servlet三大组件(Servlet、Filter、Listener)由于.

2020-08-17 18:21:40 193

原创 基础13-错误处理

MVC下的错误处理核心类是ErrorMvcAutoConfiguration类;这里先看一下ErrorMvcAutoConfiguration类的类声明: @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass({Servlet.class, DispatcherServlet.class}) @A...

2020-08-17 12:37:32 241

原创 基础12-Restful风格的Web应用

历史2011年毕业,在山东济南工作,当时学习HTTP请求,也知道HTTP请求的方法,但在实际开发中,就用2个:GET与POST;POST一般用于新增、更新,毕竟这2种业务一次性提交的数据量比较大,这种情况下,后台方法完全根据method的名字来判断到底是新增,还是修改,删除,更新等操作,没办法,毕竟method就取那2个值;当时是公司UI工程师用PS切图,然后再画出HTML文件,交给开发者;开发者再把css、jpg放到指定目录下,而把html源码复制到模板文件中,再写入freemarker语法来展示

2020-08-16 16:50:56 192

原创 基础11-WebMVC自动化配置原理

打开Spring Boot官网,按照图片找到如下信息:这里的关键就在于Spring MVC Auto-configurationSpring MVC Auto-configuration稍微翻译下图中信息:Spring Boot为大多数应用提供了自动化配置的Spring MVC。自动化配置添加了如下内容:①包含ContentNegotiatingViewResolver、BeanNameViewResolver;②支持静态资源,包括对webjars的支持;③自动注册C

2020-08-11 17:43:47 469

原创 基础10-Web开发基础

Spring Boot对静态资源的映射规则WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter.addResourceHandlers方法,该方法代码如下: public void addResourceHandlers(ResourceHandlerRegistry registry) { if (!this.resourceProperties.isAddMappings()) { ...

2020-08-10 18:47:26 157

原创 基础9-Spring Boot自带日志

通过查看starter场景启动器的依赖这里可以看到,Spring Boot其实早就替我们完成jar替换工作了,而我们也能在上一章节中通过POM文件也从侧面验证了;(在2.X版本中,jcl-over-slf4j包被移除了,看来,JCL用的是实在太少了)当我们运行@SpringBootApplication注解的启动类的时候,通过IDEA的控制台, 其实能看到INFO级别的日志输出:这里提一下log日志级别,级别从高到低依次是:error>warn>info>debug

2020-08-08 21:57:16 310

原创 基础8-整合第三方日志框架

简介Spring框架内部使用的是JCL,到了Spring Boot则是使用的是SLF4j + Logback;当然,Spring Boot这么强大,也能适配其他日志框架并简化配置;日志接口框架有:JCL,SLF4j,jboss-logging;日志实现框架有:log4j,jul,log4j2,logback;SLF4j按照这个官方图片,如果想使用slf4j + logbck,则需要导入slf4j-api.jar、logback-classic.jar、logback-core.jar

2020-08-08 16:05:31 168

原创 基础7-深入了解Spring Boot的自动配置

@SpringBootApplication注解下面是该注解重要代码: @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan( excludeFilters = {@Filter(...

2020-08-07 11:05:51 368

原创 基础6-配置文件的加载顺序

Spring Boot启动后,会扫描如下位置的application.yml文件或者application.properties文件来作为Spring Boot的默认配置文件:①项目根目录下的config文件夹;②项目根目录;③项目classpath下的config文件夹;④项目classpath根目录;按照优先级从高到低的顺序,所有位置的配置文件都会被加载,高优先级配置内容会覆盖掉低优先级配置的内容;如果项目部署之后,想新增配置文件,则可以通过--spring.config.loc

2020-08-06 19:36:48 356

原创 基础5-profile多环境支持

profile的作用在Spring基础里面说过,这里不再叙述;配置profile,根据文件不同,分为yml、properties文件2种类型:当基于properties文件时,其步骤一般是如下步骤:①根据环境不同,编写不同的properties文件,文件命名一般是:application-{profile}.propertiesapplication-dev.properties server.port=8081 application-prod.properties

2020-08-06 17:07:02 216

原创 基础4-文件占位符

①系统自带的功能,典型代表就是RandomValuePropertySource,这里可以看看IDEA的提示:(yml中与properties一样可以使用) #person.name=LiSi person.name=LiSi${random.uuid} person.address=山东潍坊寿光 #person.age=30 person.age=${random.int} person.telphone=11111111111 person.isSing

2020-08-06 14:31:08 444

原创 基础3-读取项目的properties配置文件

person.name=LiSi person.address=山东潍坊寿光 person.age=30 person.telphone=11111111111 person.isSingle=true person.birthday=1989/02/01 person.map.k1=v1 person.map.k2=v2 person.map.k3=v3 person.list=a1,a2,a3,a4 person.car.type=BM...

2020-08-05 15:07:45 146

原创 基础2-application.properties或者application.yml

配置文件Spring Boot使用一个全局的配置文件:application.properties或者application.yml,配置文件名字是固定的,不可随便修改;且配置文件存放路径也是固定的,要么在src/main/resources目录,要么在类路径/config下;yml是YAML语言的文件,以数据为中心,比json、xml等更适合做配置文件;全局配置文件可以对一些默认配置值进行修改;YAML语法YAML基本语法如下:①使用缩进来表示层级关系;②缩进时不允许使用Tab

2020-08-05 11:10:11 300

原创 基础1-创建SpringBoot工程

基于Maven创建SpringBoot工程POM文件配置如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m...

2020-08-04 17:03:59 120

原创 基础0-基于IDEA2020.1.2,整合SpringBoot与Maven

整合SpringBoot方式基于Maven,整合SpringBoot有2种方式:方式1:继承父级POM <!-- Inherit defaults from Spring Boot --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>

2020-08-04 10:52:31 307

原创 POM.xml标签说明

<parent/>标签Maven项目之间,还可以存在相互继承的关系;Maven项目之间的继承关系是通过<parent/>标签来表示的;Maven子项目可以继承父项目的如下配置信息:①dependencies②developers③contributors④plugin lists⑤reports lists⑥plugin executions with matching ids⑦plugin configuration<parent/&g

2020-08-04 09:59:09 353

原创 基础10:声明式事务

大致开发流程如下:①准备数据源信息、数据库驱动jar包、spring-jdbc模块;②使用Spring的JdbcTemplate来操作数据库;③在@Configuration注解类上添加@EnableTransactionManagement注解,来开启基于注解的事务管理功能;④注册事务管理器PlatformTransactionManager;⑤在需要添加事务的方法上,添加@Transactional注解来声明该方法是事务方法; @Configuration @Com

2020-08-02 17:14:47 95

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除