spring
PostTruth
书写是对思维的缓存
展开
-
@Value 注入 List 类型的配置属性需要注意的 BUG
@Value 注入 List 类型的配置属性@Value 注解可以方便的帮助我们注入配置属性值.那么当注入一个 List 类型时该怎么做呢?想必大家都会知道,可以使用下面这种写法: @Value("#{'${zf.ids}'.split(',')}") private List<Integer> ids;上面的配置简单说下就是,先使用 ${zf.ids} 拿到配置文件中 zf.ids 属性的值,然后使用 #{} 也就是 SPEL 表达式语言进行按,拆分,得到的结果转为 List&l原创 2020-09-18 11:01:26 · 10751 阅读 · 2 评论 -
DIP , DI , IoC 傻傻分不清?
一张图看懂 DIP , DI , IoC 的关系Design Principle vs Design PatternIn software engineering, design principle and design pattern are not the same.Design PrincipleDesign principles provide high level guidelines to design better software applications. They do not原创 2020-09-05 15:57:31 · 505 阅读 · 0 评论 -
Spring Boot 中的 HttpClient 新贵 Retrofit !
大家都知道okhttp是一款由square公司开源的java版本http客户端工具。实际上,square公司还开源了基于okhttp进一步封装的retrofit工具,用来支持通过接口的方式发起http请求。如果你的项目中还在直接使用RestTemplate或者okhttp,或者基于它们封装的HttpUtils,那么你可以尝试使用Retrofit。retrofit-spring-boot-starter实现了Retrofit与spring-boot框架快速整合,并且支持了部分功能增强,从而极大的简化spr原创 2020-08-11 09:56:21 · 924 阅读 · 0 评论 -
Spring Resource和策略模式应用
Spring 把所有能记录信息的载体,如各种类型的文件、二进制流等都称为资源,对 Spring 开发者来说,最常用的资源就是 Spring 配置文件(通常是一份 XML 格式的文件)。在 Sun 所提供的标准 API 里,资源访问通常由 java.net.URL 和文件 IO 来完成,尤其是当我们需要访问来自网络的资源时,通常会选择 URL 类。URL 类可以处理一些常规的资源访问问题,但依然不能很好地满足所有底层资源访问的需要,比如,暂时还无法从类加载路径、或相对于 ServletContext 的路原创 2020-06-29 12:01:14 · 1086 阅读 · 0 评论 -
SpringBoot JPA 多数据源的使用
Spring Data JPA 注: 由于本文卸载github上,图片也都是在github上存储,这里指示引用了github图片地址. 可以去github去看完整的文章和源码:地址:https://github.com/itguang/weixin_sell/blob/master/weixin_sell/Spring%20Data%20JPA%E7%9A%84%E4%BD%BF%E7%94%A原创 2017-12-08 09:12:06 · 11642 阅读 · 5 评论 -
Spring Data JPA
首先了解 JPA 是什么?JPA(Java Persistence API)是 Sun 官方提出的 Java 持久化规范。 它为 Java 开发人员提供了一种对象/关联映射工具来管理 Java 应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合 ORM 技术, 结束现在 Hibernate、TopLink、JDO 等 ORM 框架各自为营的局面。 值得注意的是,JPA 是在充分原创 2017-12-08 09:22:02 · 1961 阅读 · 1 评论 -
面向切面的Spring
面向切面的Spring原创 2018-01-03 15:17:22 · 294 阅读 · 0 评论 -
kafka与spring整合
标签(空格分隔): kafka参考: https://www.cnblogs.com/hei12138/p/7805475.html主要功能1 发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因2 以容错的方式记录消息流,kafka以文件的方式来存储消息流3 可以在消息发布的时候进行处理使用场景消息队列功能. 在系统或应用程序之...原创 2018-04-20 16:43:38 · 3299 阅读 · 0 评论 -
SpringBoot全局异常与数据校验
SpringBoot全局异常与数据校验要思考的问题在现在的前后端交互中,通常都规范了接口返回方式,如返回的接口状态(成功|失败)以及要返回的数据在那个字段取,或者说失败了以后提示信息从接口哪里返回,因此,如果想做全局异常,并且异常发生后能准确的返回给前端解析,那么需要异常发生时返回给前端的格式与正常失败场景的格式一致。项目建立利用idea 工具,很容易的搭建一个SpringBoot项目,要...原创 2018-11-15 20:09:45 · 520 阅读 · 0 评论 -
Spring RestTemplate远程调用结果返回 LinkedHashMap 的问题及解决方案
先来说原因:因为rpc远程调用在底层还是使用的HTTPClient,所以在传递参数的时候,必定要有个顺序,当你传递map的时候map里面的值也要有顺序,不然服务层在接的时候就出问题了,所以它才会从map转为linkedhashMap!spring 有一个类叫ModelMap,继承了linkedhashMap public class ModelMap extends LinkedHashMap...原创 2019-01-16 15:46:21 · 8260 阅读 · 0 评论 -
详解 RestTemplate 操作
详解 RestTemplate 操作作为开发人员,我们经常关注于构建伟大的软件来解决业务问题。数据只是软件完成工作时 要处理的原材料。但是如果你问一下业务人员,数据和软件谁更重要的话,他们很可能会选择 数据。数据是许多业务的生命之血。软件通常是可以替换的,但是多年积累的数据是永远不能 替换的。近几年来,以信息为中心的表述性状态转移(Representational State Transfer原创 2017-12-17 15:39:08 · 208897 阅读 · 30 评论 -
filter在spring框架中使用配置文件参数的一种方法
filter在spring框架中使用配置文件参数的一种方法 在这里我是用 springboot 来开发,所以也用springboot来演示对springboot 配置 filter不熟悉的可以看这篇文章 springboot自定义Filter的使用那么配置好了 filter,该如何吧配置文件的参数读取出来显示呢?有人第一会想到直接在Filter中 使用 @Value 注解注入再用参数接收不就行原创 2017-10-26 09:03:21 · 10601 阅读 · 4 评论 -
Springboot整合reidis详解
springBoot集成redis的key,value序列化的相关问题使用redis操作key-value数据Spring Data Redis 包含了多个模版实现,用来完成Redis数据库的数据存储功能但是为了创建spring data redis的模版,我们首先要有一个redis的链接工厂.1.连接到redisredis链接工厂会生成到redis数据库服务器的链接.spring data red原创 2017-11-03 14:37:48 · 1398 阅读 · 0 评论 -
使用自定义注解+Spring AOP 实现日志记录
使用自定义注解+Spring切面 实现日志记录在平常的项目编程中,我们会经常使用到日志,用来记录各种事件.但是,有些日志记录套路实在是太像了,我们不得不要写很多遍.比如在Spring中,我们要使用日志记录每个controller的访问和结束时间,该怎么办呢.下面是我认为比较简单的一种方法: 自定义注解+Spring切面 .下面使用SpringBoot快速搭建一个项目来进行演示.具体pom文件查看源原创 2017-12-09 11:01:38 · 9534 阅读 · 1 评论 -
Spring AOP中bean的定义与装配
Spring AOP中bean的定义与装配学习Spring AOP 时,做了个小demo,结果却出了点小问题:去了 segmentfault 问了一下: https://segmentfault.com/q/1010000011886470问题刚发布完,我突然就意识到了什么,于是乎,改了代码如下:实现类 PerformanceImpl 改为/** * @author itguang * @cr原创 2017-12-09 11:06:38 · 1411 阅读 · 0 评论 -
fastJson 之 JSONPath使用
1. JSONPath介绍官网地址: https://github.com/alibaba/fastjson/wiki/JSONPathfastjson 1.2.0之后的版本支持JSONPath。这是一个很强大的功能,可以在java框架中当作对象查询语言(OQL)来使用。2. APIpackage com.alibaba.fastjson;public class JSONPath {原创 2017-12-10 12:47:33 · 37606 阅读 · 5 评论 -
Spring @Transactional(rollbackFor = Exception.class) 的作用
@Transactional(rollbackFor = Exception.class) 的作用在项目中,@Transactional(rollbackFor=Exception.class),如果类加了这个注解,那么这个类里面的方法抛出异常,就会回滚,数据库里面的数据也会回滚。**这种设置是因为Spring的默认回滚RuntimeException, 如果想要回滚Exception时,要设置@原创 2017-12-02 16:14:19 · 3219 阅读 · 1 评论 -
Spring Data JPA注解@DynamicInsert和@DynamicUpdate
Hibernate,JPA注解@DynamicInsert和@DynamicUpdate@DynamicInsert属性:设置为true,设置为true,表示insert对象的时候,生成动态的insert语句,如果这个字段的值是null就不会加入到insert语句当中.默认false。比如希望数据库插入日期或时间戳字段时,在对象字段为空的情况下,表字段能自动填写当前的sysdate。@Dyna原创 2017-12-02 16:43:29 · 37345 阅读 · 8 评论 -
idea 从数据库快速生成Spring Data JPA实体类
idea 从数据库快速生成Spring Data JPA实体类第一步,调出 Persistence 窗口.File—>Project Structure—>model—> + —>JPA第二步:打开 Persistence窗口配置 生成实体类的参数如图: 1.数据源,即链接数据库的信息,按要求填写数据库信息即可2.生成实体类的位置.3.实体类名称前缀.这里我什么都没写.4.实体类名称后缀.原创 2017-12-02 16:46:19 · 40526 阅读 · 12 评论 -
使用Spring boot基于Redis快速搭建分布式Session缓存方案
使用Spring boot基于Redis快速搭建分布式Session缓存方案大型web应用中,session的管理非常重要,这是单机存储满足不了的.通常有以下几种方法:将session持久化到数据库中. 但缺点是读写成本太高.去session化,比如将信息存储到cookie中. 但缺点是大小有限制,并且不安全.3 . 将session存储到一个分布式的nosql数据库中,比如 Redis.接下原创 2017-12-07 11:24:09 · 1503 阅读 · 0 评论 -
Spring MVC 表单验证
Spring 表单验证从Spring3.0开始,在Spring API 中提供了对java校验API的支持.在Spring MVC 中要使用java校验API的话,并不需要而外的配置,只要保证在类路径下包含这个java API的实现即可.比如: Hibernate Validator.参考资料: http://www.imooc.com/learn/810http://gitbook.cn/gitc原创 2017-12-07 15:30:41 · 462 阅读 · 0 评论 -
Spring使用@Resource、@Autowired注入时出现空指针问题的原因
Spring使用@Resource、@Autowired注入时出现空指针问题的原因http://blog.csdn.net/yzj99848873/article/details/45012193举例说明:这是一个类,使用了@Component注解,里面有两个依赖注入的属性,使用@Autowired注解.package cn.yearcon.shop.utils;import org.apache原创 2017-10-21 18:01:19 · 9863 阅读 · 2 评论