
Spring Boot
阿奇XS
人贪安逸易失志,马遇软地易失蹄。(微信号:benyzhous)
展开
-
JVM上的随机数与熵池策略
在apache-tomcat官方文档:如何让tomcat启动更快 里面提到了一些启动时的优化项,其中一项是关于随机数生成时,采用的“熵源”(entropy source)的策略。他提到tomcat7的session id的生成主要通过java.security.SecureRandom生成随机数来实现,随机数算法使用的是”SHA1PRNG”private String secureRa转载 2017-05-02 19:21:42 · 900 阅读 · 0 评论 -
dubbo服务者配置说明
<!-- - Copyright 1999-2011 Alibaba Group. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obt转载 2016-05-19 23:09:00 · 3016 阅读 · 0 评论 -
MAC 设置环境变量path的几种方法
mac 一般使用bash作为默认shellMac系统的环境变量,加载顺序为:/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc当然/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果~/.ba转载 2016-05-08 19:24:58 · 1553 阅读 · 0 评论 -
Spring Boot Memory Performance
The Performance Zone is brought to you in partnership with New Relic. Quickly learn how to use Docker and containers in general to create packaged images for easy management, testing, and deployme转载 2016-05-18 23:55:19 · 2258 阅读 · 0 评论 -
Spring Boot 环境变量读取 和 属性对象的绑定
凡是被Spring管理的类,实现接口 EnvironmentAware 重写方法 setEnvironment 可以在工程启动时,获取到系统环境变量和application配置文件中的变量。 如:@Configurationpublic class MyWebAppConfigurer implements EnvironmentAware { private s转载 2016-05-17 10:07:45 · 2284 阅读 · 1 评论 -
Spring Boot 之 RESRful API 权限控制
摘要“简单,踏实~ 读书写字放屁” 一、为何用RESTful API 1.1 RESTful是什么? RESTful(Representational State Transfer)架构风格,是一个Web自身的架构风格,底层主要基于HTTP协议(ps:提出者就是HTTP协议的作者),是分布式应用架构的...“简单,踏实~ 读书写字放屁”一、为何用RESTful API1转载 2016-05-05 22:14:23 · 4795 阅读 · 0 评论 -
spring-boot 之 使用Admin监控应用
摘要Spring Boot提供的监控接口,例如:/health、/info等等,实际上除了之前提到的信息,还有其他信息业需要监控:当前处于活跃状态的会话数量、当前应用的并发数、延迟以及其他度量信息。下面我们来了解如何使用spring-boot-admin来监控我们的系统。 一、创建spring-boo...Spring Boot提供的监控接口,例如:/health、/info等等,实际转载 2016-05-05 22:06:00 · 6058 阅读 · 0 评论 -
分布式配置管理平台 Disconf
Distributed Configuration Management Platform(分布式配置管理平台)专注于各种 分布式系统配置管理 的通用组件/通用平台, 提供统一的配置管理服务。包括 百度、滴滴打车、银联、网易、拉勾网 等知名互联网公司正在使用!「disconf」在「2015 年度新增开源软件排名 TOP 100(OSC开源中国提供)」中排名第16强。转载 2016-05-04 18:46:08 · 4010 阅读 · 0 评论 -
Dubbo原理解析-监控
Dubbo发布代码中,自带了一个简易的监控中心实现。对于一般的小业务这个监控中心应该能够满足需求,对于那些大业务量的大公司一般都会有自己的监控中心,更加丰富的功能如常用的报警短信通知等等。这章讲解分析使得读者能够了解一般的监控中心实现,也使得有自己接入监控中心需求的大概知道如何集成自己的监控中心实现。下面我们就以dubbo自带的监控中心开始讲解。 监控中心1. 监控中心启动,转载 2016-05-28 00:13:35 · 6142 阅读 · 0 评论 -
Spring Boot 性能优化
Spring 框架给企业软件开发者提供了常见问题的通用解决方案,包括那些在未来开发中没有意识到的问题。但是,它构建的 J2EE 项目变得越来越臃肿,逐渐被 Spring Boot 所替代。Spring Boot 让我们创建和运行项目变得更为迅速,现在已经有越来越多的人使用它。我们已经在几个项目中使用了 Spring Boot ,今天我们就来一起讨论一下如何改进 Spring Boot 应用的性转载 2016-05-27 15:49:59 · 2006 阅读 · 0 评论 -
Spring Boot使用自定义的properties
spring boot使用application.properties默认了很多配置。但需要自己添加一些配置的时候,我们应该怎么做呢。 若继续在application.properties中添加如: Properties代码 wisely2.name=wyf2 wisely2.gender=male2 定义转载 2016-05-14 07:44:06 · 1117 阅读 · 0 评论 -
在Spring Boot启动后执行指定代码
在开发时有时候需要在整个应用开始运行时执行一些特定代码,比如初始化环境,准备测试数据等等。在Spring中可以通过ApplicationListener来实现相关的功能,不过在配合Spring Boot使用时就稍微有些区别了。创建ApplicationListener这里以填充部分测试数据为例子,首先实现ApplicationStartup类。转载 2016-05-13 16:39:58 · 5527 阅读 · 0 评论 -
Spring Boot普通类调用bean
1 在Spring Boot可以扫描的包下 假设我们编写的工具类为SpringUtil。 如果我们编写的SpringUtil在Spring Boot可以扫描的包下或者使用@ComponentScan引入自定义的包了,那么原理很简单,只需要使得SpringUtil实现接口:ApplicationContextAware,然后加上@Component 注解即可,具体编码如下转载 2016-05-13 08:49:21 · 11335 阅读 · 0 评论 -
Spring Boot使用Druid和监控配置
Spring Boot默认的数据源是:org.apache.tomcat.jdbc.pool.DataSource整体步骤:(1) —— Druid简单介绍,具体看官网;(2) —— 在pom.xml配置druid依赖包;(3) —— 配置application.properties加入数据库源类型等参数;(4) —— 编写drui转载 2016-05-13 08:43:23 · 36411 阅读 · 10 评论 -
spring与redis集成之aop整合方案
java使用redis缓存可以使用jedis框架,jedis操作简单,没有什么复杂的东西需要学习,网上资料很多,随便看看就会了.将spring与redis缓存集成,其实也是使用jedis框架,只不过spring对它进行了一层封装,并将这层封装库命名为spring-data-redis.下面将要使用spring-data-redis与jedis的jar包,并通过spring的aop功转载 2016-05-01 21:40:39 · 1028 阅读 · 0 评论 -
zookeeper集群搭建设置
zookeeper 官网:http://zookeeper.apache.org/ 现在最新版本是 3.4.6 ,但是这个版本我没有运行起来,可能是那配置出现问题了,现在我用的是3.4.5 http://apache.fayea.com/apache-mirror/zookeeper/zookeeper-3.4.5/环境:windows 8.1 、zookeeper3.4.5现转载 2016-05-19 23:41:34 · 998 阅读 · 0 评论 -
Spring Boot Admin Reference Guide
Spring Boot Admin Reference GuideJohannes Edmeier@joshisteVersion 1.3.3,13.05.2016Table of Contents1. What is Spring Boot Admin?2. Getting started2.1. Set up admin server2.2.转载 2016-05-21 09:44:44 · 3771 阅读 · 0 评论 -
解决在Filter中读取Request中的流后, 然后再Control中读取不到的做法
摘要: 大家知道, StringMVC中@RequestBody是读取的流的方式, 如果在之前有读取过流后, 发现就没有了.我们来看一下核心代码: filter中主要做的事情, 就是来校验请求是否合法, 是否有篡改过值.转载 2017-03-06 10:08:38 · 2807 阅读 · 0 评论 -
Spring Session + Redis实现分布式Session共享
通常情况下,Tomcat、Jetty等Servlet容器,会默认将Session保存在内存中。如果是单个服务器实例的应用,将Session保存在服务器内存中是一个非常好的方案。但是这种方案有一个缺点,就是不利于扩展。目前越来越多的应用采用分布式部署,用于实现高可用性和负载均衡等。那么问题来了,如果将同一个应用部署在多个服务器上通过负载均衡对外提供访问,如何实现Session共享?实转载 2016-12-20 23:24:40 · 1467 阅读 · 0 评论 -
Springboot自定义异常处理
背景Springboot 默认把异常的处理集中到一个ModelAndView中了,但项目的实际过程中,这样做,并不能满足我们的要求。具体的自定义异常的处理,参看以下前提Springboot 默认的application propertiesSpring Boot异常处理详解具体实现如果仔细看完spring boot的异常处理详解,并且研究过源码后,我觉得转载 2016-11-23 23:14:54 · 2064 阅读 · 0 评论 -
Spring Boot异常处理详解
在Spring MVC异常处理详解中,介绍了Spring MVC的异常处理体系,本文将讲解在此基础上Spring Boot为我们做了哪些工作。下图列出了Spring Boot中跟MVC异常处理相关的类。Spring Boot在启动过程中会根据当前环境进行AutoConfiguration,其中跟MVC错误处理相关的配置内容,在ErrorMvcAutoConfiguration这个类转载 2016-11-23 21:13:14 · 1965 阅读 · 0 评论 -
开放api接口签名验证
不要急,源代码分享在最底部,先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?转载 2016-10-19 16:04:44 · 1380 阅读 · 1 评论 -
Spring Boot Junit单元测试
摘要: Junit这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说明它在项目中的重要性。 凭本人的感觉和经验来说,在项目中完全按标准都写Junit用例覆盖大部分业务代码的,应该不会超过一半。 刚好前段时间写了一些关于SpringBoot的帖子,正好现在把Junit再拿出来从几个方面再说一...Junit这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说转载 2016-10-14 12:26:56 · 1217 阅读 · 0 评论 -
翻译 Spring Boot How To
本章节将回答一些常见的"我该怎么做"类型的问题,这些问题在我们使用Spring Boot时经常遇到。这绝不是一个详尽的列表,但它覆盖了很多方面。如果遇到一个特殊的我们没有覆盖的问题,你可能想去查看stackoverflow.com翻译 2016-09-08 18:32:00 · 3516 阅读 · 0 评论 -
SpringBoot之@EnableAutoConfiguration原理及自定义扩展
spring Boot是一个偏执的开源框架,它可用于创建可执行的Spring应用程序,采用了习惯优于配置的方法。 此框架的神奇之处在于@EnableAutoConfiguration注释,此注释自动载入应用程序所需的所有Bean——这依赖于Spring Boot在类路径中的查找。一、@Enable*注释@Enable*注释并不是新发明的注释,早在Spring 3框架就引入了这些转载 2016-10-09 21:29:43 · 85614 阅读 · 1 评论 -
SpringCloud分布式开发五大神兽
Spring Cloud 为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性 Token、全局锁、决策竞选、分布式会话和集群状态)操作的开发工具。转载 2016-09-16 23:57:49 · 2860 阅读 · 0 评论 -
SpringBoot+Logback+Sentry(日志监控平台)
无论测试如何完善的程序,bug总是免不了会存在的,有些bug不是每次都会出现,测试时运行好好的代码可能在某个用户使用时就歇菜了,可是当程序在用户面前崩溃时,你是看不到错误的,当然你会说:”Hey, 我有记日志呢”。 但是说实话,程序每天每时都在产生大量的日志,而且分布在各个服务器上,并且如果你有多个服务在维护的话,日志的数量之多你是看不过来的吧。等到某天某个用户实在受不了了,打电话来咆哮的时候,你再去找日志你又会发现日志其实没什么用:缺少上下文,不知道用户什么操作导致的异常,异常太多(从不看日志的缘故)不知原创 2016-07-30 15:09:30 · 9556 阅读 · 4 评论 -
SpringBoot Quickstart
SpringBoot IntroSpringBoot是顺应现在微服务(MicroServices)理念而产生的一个微框架(同类微框架可供选择的还有Dropwizard), 用来构建基于Spring框架的标准化的独立部署应用程序(“再也tmd不用寄人篱下,活在WebContainer的屋檐下了”)。我们原来选择试用Dropwizard作为Web API的标准框架, 也完成了一转载 2016-07-17 00:43:34 · 4553 阅读 · 0 评论 -
Spring Cache使用详解
Spring CacheSpring Cache使用方法与Spring对事务管理的配置相似。Spring Cache的核心就是对某个方法进行缓存,其实质就是缓存该方法的返回结果,并把方法参数和结果用键值对的方式存放到缓存中,当再次调用该方法使用相应的参数时,就会直接从缓存里面取出指定的结果进行返回。所以在使用Cache的时候我们要保证我们缓存的方法对于相同的参数要有相同的返回结果。转载 2016-07-17 00:08:24 · 13354 阅读 · 0 评论 -
Spring-data-redis: 分布式队列
Redis中list数据结构,具有“双端队列”的特性,同时redis具有持久数据的能力,因此redis实现分布式队列是非常安全可靠的。它类似于JMS中的“Queue”,只不过功能和可靠性(事务性)并没有JMS严格。Redis中的队列阻塞时,整个connection都无法继续进行其他操作,因此在基于连接池设计是需要注意。我们通过spring-data-redis,来实现“同步队列”,设计风格转载 2016-06-06 16:37:34 · 4526 阅读 · 0 评论 -
Spring Boot使用Redis进行消息的发布订阅
今天来学习如何利用Spring Data对Redis的支持来实现消息的发布订阅机制。发布订阅是一种典型的异步通信模型,可以让消息的发布者和订阅者充分解耦。在我们的例子中,我们将使用StringRedisTemplate来发布一个字符串消息,同时基于MessageListenerAdapter使用一个POJO来订阅和响应该消息。提示事实上,RedisRedis 不仅提供一个NoSQL转载 2016-06-06 16:33:32 · 18239 阅读 · 0 评论 -
spring boot 下 500 404 错误页面处理
spring boot 作为微服务的便捷框架,在错误页面处理上也有一些新的处理,不同于之前的spring mvc500的页面处理是比较简单的,用java config或者xml的形式,定义如下的bean即可[html] view plain copy bean class="org.springframework转载 2016-05-12 18:13:48 · 6479 阅读 · 0 评论 -
spring boot application properties配置详解
# SPRING CONFIG (ConfigFileApplicationListener)spring.config.name= # config file name (default to 'application')spring.config.location= # location of config file # PROFILESspring.profiles.ac转载 2015-08-28 10:54:17 · 96556 阅读 · 9 评论 -
使用spring @Scheduled注解执行定时任务
以前框架使用quartz框架执行定时调度问题、老大说这配置太麻烦、每个调度都需要多加在spring的配置中、能不能减少配置的量从而提高开发效率、最近看了看spring的 scheduled的使用注解的方式进行调度、感觉很方便、起码配置的东西少了很多、 所以留下来以备忘了、 首先要配置我们的spring.xml xmln转载 2015-09-15 19:36:23 · 1587 阅读 · 0 评论 -
基于Spring的Web缓存
缓存的基本思想其实是以空间换时间。我们知道,IO的读写速度相对内存来说是非常比较慢的,通常一个web应用的瓶颈就出现在磁盘IO的读写上。那么,如果我们在内存中建立一个存储区,将数据缓存起来,当浏览器端由请求到达的时候,直接从内存中获取相应的数据,这样一来可以降低服务器的压力,二来,可以提高请求的响应速度,提升用户体验。缓存的分类数据库数据缓存一般来说,web应用业务逻辑业务转载 2015-11-03 16:20:48 · 1179 阅读 · 1 评论 -
深入学习微框架:Spring Boot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。多年以来,Spring IO平台饱受非议的一点就是大量的XML转载 2015-09-15 00:49:25 · 1800 阅读 · 0 评论 -
spring boot web相关配置
spring boot集成了servlet容器,当我们在pom文件中增加spring-boot-starter-web的maven依赖时,不做任何web相关的配置便能提供web服务,这还得归于spring boot 自动配置的功能(因为加了EnableAutoConfiguration的注解),帮我们创建了一堆默认的配置,以前在web.xml中配置,现在都可以通过spring bean的方式进转载 2015-09-15 00:23:14 · 1498 阅读 · 0 评论 -
Thymeleaf模板的使用
使用模板的要点: 页面主体结构固定,具体参数可变,尽可能让参数动态化,才能提高模板的复用性===================================================================Thymeleaf's core is a DOM processing engineProcessor: An Object which转载 2015-09-12 15:23:59 · 3864 阅读 · 0 评论 -
Thymeleaf基本知识
Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用。Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模。你可以使用它创建经过验证的XML与HTML模板。相对于编写逻辑或代码,开发者只需将标签属性添加到模板中即可。接下来,这些标签属性就会在DOM(文档对象模型)上执行预先制定好的逻辑。Thyme转载 2015-09-12 15:25:07 · 1039 阅读 · 0 评论 -
spring-boot 加载本地静态资源文件路径配置
1.spring boot默认加载文件的路径是 /META-INF/resources/ /resources/ /static/ /public/ 这些目录下面, 当然我们也可以从spring boot源码也可以看到 Java代码 private static final String[] CLASSPATH_RESOURCE_LOCATIO原创 2015-09-11 13:52:30 · 3845 阅读 · 0 评论