
SpringBoot
文章平均质量分 78
May的博客
这个作者很懒,什么都没留下…
展开
-
SpringBoot项目打成jar包后,无法读取resources下的文件
最近在使用aspose将word转PDF并进行签章打印,读取凭证文件时遇到一个问题,凭证文件放在resources目录下,Windows下可正常读取,但是打成jar包部署到Linux服务器上却取不到文件。由此问题引出以下思考:在本地项目读取文件时this.getClass().getClassLoader().getResource("").getPath()+fileNamethis.getClass().getResource("/filename").getPath()都是可以成功的;但是j原创 2021-04-14 15:46:05 · 2859 阅读 · 0 评论 -
Java注解
java注解是Java提供的一种原程序中的元素关联任何信息和任何元数据的途径和方法。Java中常见的注解1、jdk自带注解Java SE5内置了三种标准注解:@Override:表示当前的方法定义将要覆盖超类中的方法;@Deprecated:表示该方法已经过时了。当方法或类上有该注解时,说明该方法或类都已经过期不能再用,但不影响以前的项目使用,提醒你使用心得替代方法或类。如果程序员不小心...原创 2019-06-05 20:30:48 · 1449 阅读 · 0 评论 -
SpringMVC配置类WebMvcConfigurerAdapter学习总结
WebMvcConfigurerAdapter配置类是spring提供的一种配置方式,采用javabean的方式替代传统的基于xml的配置来对spring框架进行自定义的配置。因此,在springboot提倡的基于注解的配置 && 采用约定大于配置的风格下,当需要进行自定义配置的时候,便可以继承WebMvcConfigurerAdapter这个抽象类,通过javabean来实现需要...原创 2019-06-05 18:54:02 · 1930 阅读 · 0 评论 -
自定义类型处理器的应用
问题描述:一个JSON字符串在转对象的时候报JSON解析异常的错误,我仔细看了一下错误堆栈,是枚举导致的数组越界问题。[ { "fee":0, "amount":15, "orderNo":"9136104331757999", "storeId":0, "bankCode":"", "b...原创 2019-05-20 19:34:42 · 748 阅读 · 0 评论 -
自定义Redis序列化工具
为什么用户需要自己创建一个redis配置类?SpringBoot提供了对Redis的自动配置功能,在RedisAutoConfiguration类中默认为我们配置了客户端连接(Lettuce和Jedis),以及数据操作模板(StringRedisTemplate和RedisTemplate),下列代码有一个@ConditionalOnMissingBean和@Bean的注解,@Condition...原创 2019-05-28 13:53:01 · 2070 阅读 · 0 评论 -
在springboot中使用springsecurity实现安全控制
我们在编写web应用时经常要对一些页面做安全控制,比如:对于没有访问权限的用户需要转到登录表单页面。要实现访问控制方法的多种多样,可以通过AOP、拦截器实现,也可以通过框架实现(如:Apache shiro、spring security)。本文主要学习一下在springboot中使用springsecurity实现安全控制。定义控制层controller:@Controllerpubli...原创 2019-05-21 20:16:03 · 2076 阅读 · 0 评论 -
使用HttpMessageConverter实现HTTP的序列化和反序列化
对象的序列化/反序列化大家应该都比较熟悉:序列化就是将object转化为可以传输的二进制,反序列化就是将二进制转化为程序内部的对象。序列化/反序列化主要体现在程序I/O这个过程中,包括网络I/O和磁盘I/O。那么什么是http序列化和反序列化呢?在使用springmvc/SpringBoot时,我们经常会这样写:@RequestMapping("/test")@ResponseBodypu...原创 2019-05-29 19:14:41 · 9555 阅读 · 1 评论 -
使用fastjson提供的接口实现自定义的编解码器
FastJson中文 API在项目开发中经常会遇到一些业务需要对某些数据进行特殊的定制化处理,fastjson为我们提供了接口可以用于实现自定义的编解码器来完成我们的业务要求。ObjectSerializer和ObjectDeserializer分别是fastjson的编码器和解码器接口。ObjectDeserializer接口源码:/** * <p>Interface re...原创 2019-05-29 19:25:08 · 8567 阅读 · 0 评论 -
Springboot对web应用的统一异常处理
我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。默认情况下,Spring Boot为两种情况提供了不同的响应方式1、当浏览器发送请求头是Accept: text/html;Spring Boot默认会响应一个html文档内容,称作...原创 2019-06-05 18:40:18 · 889 阅读 · 0 评论 -
如何在项目启动时就执行某些操作
参考资料:如何在项目启动时就执行某些操作在实际的项目开发中经常会遇到一些需要在项目启动的时候进行初始化操作的需求,比如初始化线程池,配置某些对象的序列化和反序列化方式,加载黑名单白名单,加载权限应用,加载组织架构到缓存等等。这篇文章就来总结一下如何在项目初始化时进行一些资源操作。方法一:@PostConstruct方法//将黑名单从数据库中查询出来,并放到缓存中@Service("phon...原创 2019-05-21 19:49:17 · 1056 阅读 · 0 评论 -
【SpringBoot】SpingBoot整合AOP
说起spring,我们知道其最核心的两个功能就是AOP(面向切面)和IOC(控制反转),这边文章来总结一下SpringBoot如何整合使用AOP。一、示例应用场景:对所有的web请求做切面来记录日志。1、pom中引入SpringBoot的web模块和使用AOP相关的依赖: 其中: cglib包是用来动态代理用的,基于类的代理; aspectjrt和aspectjweave...原创 2018-09-07 00:47:33 · 159014 阅读 · 29 评论 -
【SpringBoot】在SpringBoot中使用Ehcache
SpringBoot提供了对缓存的支持,通过在启动类中添加@EnableCaching注解自动化配置合适的缓存管理器(CacheManager),Spring Boot根据下面的顺序去侦测缓存提供者: * Generic * JCache (JSR-107) * EhCache 2.x * Hazelcast * Infinispan * Redis * Guava ...原创 2018-09-04 23:14:53 · 4764 阅读 · 0 评论 -
【SpringBoot】在普通类中获取spring容器中的bean
这段时间公司搞封闭开发,做一个联通总部的客服系统项目,是基于springboot的。在开发工程中遇到一个页面datagrid数据排序的功能,因为有多个表的数据都要用到排序功能,于是我就写了一个排序功能的公共实现类,方便大家使用。在写实现类的过程中学习了在普通类中获取spring容器中的bean的方法。如果我们需要在一个类中使用spring提供的bean对象,那么我们需要把这个bean注入到sp...原创 2018-08-28 23:23:45 · 12905 阅读 · 2 评论