
spring-boot
文章平均质量分 96
russle
Java开发工程师
**注意事项**:本博客所有代码是为了介绍相关内容而编写或者引用的,示例代码并非可直接用于生产的代码。仅供参看而已。
展开
-
访问Neo4j spring-data-neo4j入门 (一)
Spring-data-neo4j实例入门本文通过一个简单的电影和演员的实例简要介绍如何使用spring-data-neo4j访问neo4j数据库。关于图数据库的理论以及使用场景不在本文的讨论访问,关于图数据库和关系数据库的比较也不在本文的讨论范围。 本文主要介绍一个简单的使用场景,就是Movie和Person, person和movie的关系有actor和director, 一个movi...原创 2018-04-14 15:43:33 · 23716 阅读 · 23 评论 -
bucket4j限流示例
最近处理测试某个业务的性能,发现当kafka消息量特别大的时候需要限制kafka消息消费速度,因为接受消息的处理流程比较多,当消息量特别大的时候,如果kafka消息了消息(kafka是自动完成commit)提交给后台处理,一旦后台线程中断,就会导致有消息遗漏处理。这里补充一句,为什么没有设置kafka手动提交,因为每个消息的处理流程有差异,时间不一,整体上只要接受到kafka消息,完成基本处理,...原创 2019-08-11 13:32:21 · 4566 阅读 · 4 评论 -
"status":406,"error":"Not Acceptable","message":"Could not find acceptable representation
问题来源项目中需要服务间调用,发现provider项目已经提供了对应接口,然后就使用Feign开始调用。结果无法正常工作,然后查看日志,发现服务间调用返回的竟然是异常信息。{"timestamp":1554718813930,"status":406,"error":"Not Acceptable","message":"Could not find acceptable representa...原创 2019-04-14 01:02:34 · 5728 阅读 · 0 评论 -
访问Neo4j spring-data-neo4j入门 (二)@Query 复杂查询
本文在访问Neo4j spring-data-neo4j入门 (一) 基础上成文,因此请先阅读访问Neo4j spring-data-neo4j入门 (一) 。我们在上一篇提到使用@Query完成复杂查询,如同我们的业务一样,使用简单的比较大小、日期范围无法完成业务需要,特别是当我们需要在多个关系中进行查询时,返回的对象也需要包括关联的内容。例如返回Movie的所有参演者,就需要Person对...原创 2018-11-24 13:18:54 · 18609 阅读 · 6 评论 -
Spring Boot程序中@JsonIgnoreProperties与@JsonIgnore基本使用
问题由来:springboot项目中定义了很多类,我们在rest返回中直接返回或者在返回对象中使用这些类,spring已经使用jackson自动帮我们完成这些的to json。但是有时候自动转的json内容太多,或者格式不符合我们的期望,因此需要调整类的to json过程,或者说希望自定义类的json过程。解决办法:使用@JsonIgnoreProperties、@JsonIgnore、@J...原创 2018-11-16 23:33:00 · 87345 阅读 · 3 评论 -
springboot程序logback日志基本配置,多个包不同日志级别输入到文件中
日志是程序中必不可少的内容。依据日志我们可以有效诊断程序bug,统计用户访问和各主要功能的使用频率时间段等信息。因此我们会需要不同package使用不同的日志级别,以及不同业务的日志输出到不同的文件。下面本文简要概述如何使用logback将不同包的不同级别日志输出到info1.txt中。本文的代码在这里,欢迎加星,fork。1, springboot配置日志logback日志的方式官方文档在...原创 2018-11-10 20:08:54 · 16022 阅读 · 0 评论 -
Spring Boot日志配置中的file和path注意事项
注意:同时配置了logging.file和logging.path只有一个生效。例如 application.properties文件中的日志配置如下logging.file=mylog.txtlogging.path=/var/myapp/实际只有logging.file=mylog.txt生效,程序并保护会在/var/myapp目录下生成mylog.txt。参看官方文档:Tabl...原创 2018-10-28 23:53:58 · 3454 阅读 · 0 评论 -
Spring Boot Web应用开发 CORS 跨域请求设置 Invalid CORS request
使用SpringBoot Web开发程序时,前后端分离时,经常遇到跨域问题,特别是很多情况下Firefox浏览器没有问题,而chrome浏览器有问题,仅仅从浏览器的web控制台很难发现有效的错误或者告警信息,因此在开发程序很有必要在开发阶段就考虑到并配置好跨域。SpringBoot提供的跨域配置有两种,一种是全局的,一种是具体到方法的。如果同时配置了那么具体方法的优先。具体代码在这里欢迎for...原创 2018-10-14 11:47:22 · 67047 阅读 · 0 评论 -
Spring Boot程序获取tomcat启动端口
有时我们需要Spring Boot程序的启动端口,例如我们在代码中需要拼接改程序的监控检查URL,就会需要用到端口, 那么如何获取tomcat的端口? 办法有很多,实现ApplicationListener接口,通过WebServerInitializedEvent(Spring Boot 2.0.x版本) 或者EmbeddedServletContainerInitializedEvent(S...原创 2018-09-09 22:35:02 · 14581 阅读 · 2 评论 -
Spring Boot 中使用@KafkaListener并发批量接收消息
kakfa是 我们在项目开发中经常使用的消息中间件。由于它的写性能非常高,因此,经常会碰到Kafka消息队列拥堵的情况。碰到这种情况时,有不能直接清理整改消息队列,因为还有别的服务正在使用该队列。因此只能额外启动一个相同名称的consumer-group来加快消息消费(经测试,如果该topic只有一个分区,实际上再启动一个新的消费者作用不到)。具体代码在这里,欢迎加星号,fork。官方文档......原创 2018-07-28 10:53:37 · 139817 阅读 · 33 评论 -
Spring Boot中静态资源访问的默认配置
传统的Java Web项目中,所有的静态文件和页面都是放在WebContent目录下。但在Spring Boot项目中,静态资源和页面文件都统一放在src/main/resources目录下对应的文件夹中。一般src/main/resources/static目录用于存放各类静态资源文件,例如css、js和image等。src/main/resources/templates用户存放页面文件,例如...原创 2018-07-28 16:54:10 · 12344 阅读 · 1 评论 -
Spring注解学习之@Value
本系列开始Spring主要注解的介绍。 我们先从@Value开始, @Value和@Configuration和一起使用,读取属性文件。. @Value reads the property file. 属性文件可以通过应用的xml加载。下面的例子中,我们从应用的xml文件获得属性文件,然后通过@Value读取属性值,.具体代码在这里,欢迎fork,加星,谢谢!@Configuratio...翻译 2018-07-07 12:17:30 · 1098 阅读 · 0 评论 -
Spring Cloud和netflix 提供的Eureka等组件之间的版本关系
上一篇介绍了Spring Cloud和Spring boot之间的版本兼容关系,下面我们再介绍一下Spring Cloud和netflix之间的版本关系。我们首先看看pom中的依赖关系 我们使用springcloud的一般在pom文件类似如下这样:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://...原创 2018-06-30 13:03:07 · 23790 阅读 · 3 评论 -
利用Spring AOP自定义注解实现服务层和controller层日志以及异常记录功能
项目开发中我们需要记录各个服务的调用日志,作为审计记录或者供debug查看,或者性能以及使用率分析等等。通过记录日志和异常,我们能找出,哪些功能在哪个时间段被哪些模块调用,入参都有哪些,反应时间多长,这样我们就能比较快的找出项目问题所在或者优化项目。那么如何实现这种功能,Spring AOP给我们提供了现成的方法。当然实现的方法有很多,最直接的莫过于在每个调用的进入和对出都记录一天日志(log...原创 2018-06-10 11:43:27 · 5263 阅读 · 2 评论 -
Spring boot中mongoDB的查询--Query, QueryBuilder、BasicQuery
NoSQL在日常项目中的使用越来越普遍,尤其以mongoDB为甚。而java开发我们最常使用的框架非spring系列莫属。 因此本文主要介绍如何使用如何使用MongoTemplate进行查询,本文不包含如何使用spring-data-monog中的MongoRepository进行查询,MongoRepository会在其他博文中介绍。我们可以直接在服务中使用MongoTemplate, 然后...原创 2018-05-19 13:07:02 · 27190 阅读 · 0 评论 -
Spring Kafka 教程 – spring读取和发送kakfa消息
Apache Kafka, 分布式消息系统, 非常流行。Spring是非常流行的Java快速开发框架。将两者无缝平滑结合起来可以快速实现很多功能。本文件简要介绍Spring Kafka,如何使用 KafkaTemplate发送消息到kafka的broker上, 如何使用“listener container“接收Kafka消息。1,Spring Kafka的组成 这一节我们首先介绍Sprin...原创 2018-05-13 12:17:22 · 25626 阅读 · 5 评论 -
类加载器之-----使用spring-boot-devtools与drools导致的 com.x.y.A cannot be cast to com.x.y.A
我们知道判断两个类是否相等,只有在这两个类是由同一个类加载器加载的前提下才有意义。使用spring-boot-devtools时,我们很多“”应用类“”是由spring提供的org.springframework.boot.devtools.restart.classloader.RestartClassLoader加载,而不是以前的sun.misc.Launcher$AppClassLoader...原创 2019-08-17 16:02:44 · 1772 阅读 · 0 评论