一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Java

springboot 2.0 使用redis

由于还使用elasticsearch,所以使用jedis没有使用lettuce 不然两个会冲突 1.pom引入

2.配置走一波,2.0版本之前的一些被移除了,我使用jedis就配置jedis了,使用lettuce的话一个样,换个名字就行

3.redis config走一波

4.jedis config 走一波

5.然后直接用就行了

  from:https://blog.csdn.net/wangh92/article/details/79626969

龙生   04 Sep 2018
View Details

Spring Boot(三):Spring Boot 中 Redis 的使用

Spring Boot 对常用的数据库支持外,对 Nosql 数据库也进行了封装自动化。 Redis 介绍 Redis 是目前业界使用最广泛的内存数据存储。相比 Memcached,Redis 支持更丰富的数据结构,例如 hashes, lists, sets 等,同时支持数据持久化。除此之外,Redis 还提供一些类数据库的特性,比如事务,HA,主从库。可以说 Redis 兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景。本文介绍 Redis 在 Spring Boot 中两个典型的应用场景。 如何使用 1、引入依赖包

Spring Boot 提供了对 Redis 集成的组件包:spring-boot-starter-data-redis,spring-boot-starter-data-redis依赖于spring-data-redis 和 lettuce 。Spring Boot 1.0 默认使用的是 Jedis 客户端,2.0 替换成 Lettuce,但如果你从 Spring Boot 1.5.X 切换过来,几乎感受不大差异,这是因为 spring-boot-starter-data-redis 为我们隔离了其中的差异性。 Lettuce 是一个可伸缩线程安全的 Redis 客户端,多个线程可以共享同一个 RedisConnection,它利用优秀 netty NIO 框架来高效地管理多个连接。   2、添加配置文件

  3、添加 cache 的配置类

注意我们使用了注解:@EnableCaching来开启缓存。   3、好了,接下来就可以直接使用了

以上都是手动使用的方式,如何在查找数据库的时候自动使用缓存呢,看下面;   4、自动根据方法生成缓存

其中 value 的值就是缓存到 Redis 中的 key   共享 Session 分布式系统中,Session 共享有很多的解决方案,其中托管到缓存中应该是最常用的方案之一, Spring Session 官方说明 Spring Session provides an API and implementations for […]

龙生   03 Sep 2018
View Details

Spring Boot(二):Web 综合开发

上篇文章介绍了 Spring Boot 初级教程:Spring Boot(一):入门篇,方便大家快速入门、了解实践 Spring Boot 特性;本篇文章接着上篇内容继续为大家介绍 Spring Boot 的其它特性(有些未必是 Spring Boot 体系桟的功能,但是是 Spring 特别推荐的一些开源技术本文也会介绍),对了这里只是一个大概的介绍,特别详细的使用我们会在其它的文章中来展开说明。 Web 开发 Spring Boot Web 开发非常的简单,其中包括常用的 json 输出、filters、property、log 等 json 接口开发 在以前使用 Spring 开发项目,需要提供 json 接口时需要做哪些配置呢 添加 jackjson 等相关 jar 包 配置 Spring Controller 扫描 对接的方法添加 @ResponseBody 就这样我们会经常由于配置错误,导致406错误等等,Spring Boot 如何做呢,只需要类添加 @RestController 即可,默认类中的方法都会以 json 的格式返回

  如果需要使用页面开发只要使用@Controller注解即可,下面会结合模板来说明 自定义 Filter 我们常常在项目中会使用 filters 用于记录调用日志、排除有 XSS 威胁的字符、执行权限验证等等。Spring Boot 自动添加了 OrderedCharacterEncodingFilter 和 HiddenHttpMethodFilter,并且我们可以自定义 Filter。 两个步骤: 实现 Filter 接口,实现 Filter 方法 添加@Configuration 注解,将自定义Filter加入过滤链 好吧,直接上代码

  自定义 Property 在 Web 开发的过程中,我经常需要自定义一些配置文件,如何使用呢 配置在 application.properties 中

  自定义配置类

  log配置 […]

龙生   30 Aug 2018
View Details

SpringBoot学习资料汇总

推荐博客 纯洁的微笑 程序猿DD liaokailin的专栏 Spring Boot 揭秘与实战 系列 catoop的专栏 简书Spring Boot专题 方志朋Spring Boot 专栏 Spring-boot集成 推荐网站 Spring boot 官网 Spring Boot参考指南-中文版 Gradle 中文参考指南 慕课网视频 spring-boot-tutorials 开源书籍-微服务:从设计到部署 开源代码 spring boot官方例子 spring-boot-examples SpringBoot-Learning favorites-web springboot-learning-example spring-boot-all   from:http://www.ityouknow.com/springboot/2015/12/30/springboot-collect.html

龙生   29 Aug 2018
View Details

SpringBoot 项目,自动编译,热部署,立刻看到效果

1:在pom.xml 中 配置

注意:并不是pom.xml 的<build>标签中 2: 如果有页面的话 禁止页面缓存

  3:开idea工具的自动编译功能 完成以上步骤 即可实现SpringBoot项目自动编译+热部署,这我们修改后的代码能够立刻看到效果,提高效率! from:https://blog.csdn.net/woshiyeguiren/article/details/79312245   转者PS:其他构建工具可以去http://mvnrepository.com/搜索~

龙生   29 Aug 2018
View Details

Spring Boot(一):入门篇

什么是 Spring Boot Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。 使用 Spring Boot 有什么好处 其实就是简单、快速、方便!平时如果我们需要搭建一个 Spring Web 项目的时候需要怎么做呢? 1)配置 web.xml,加载 Spring 和 Spring mvc 2)配置数据库连接、配置 Spring 事务 3)配置加载配置文件的读取,开启注解 4)配置日志文件 … 配置完成之后部署 Tomcat 调试 … 现在非常流行微服务,如果我这个项目仅仅只是需要发送一个邮件,如果我的项目仅仅是生产一个积分;我都需要这样折腾一遍! 但是如果使用 Spring Boot 呢? 很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套 Web 项目或者是构建一个微服务! 使用 Spring Boot 到底有多爽,用下面这幅图来表达 快速入门 说了那么多,手痒痒的很,马上来一发试试! Maven 构建项目 1、访问 http://start.spring.io/ 2、选择构建工具 Maven Project、Java、Spring Boot 版本 2.1.3 以及一些工程基本信息,可参考下图所示: 3、点击 Generate Project 下载项目压缩包 4、解压后,使用 Idea 导入项目,File -> New -> Model from Existing Source.. -> 选择解压后的文件夹 -> OK,选择 Maven 一路 […]

龙生   28 Aug 2018
View Details

想要快速上手 Spring Boot?看这些教程就足够了!| 码云周刊第 81 期

本期为大家精选了 码云 上优秀的 Spring Boot 语言开源项目,涵盖了企业级系统框架、文件文档系统、秒杀系统、微服务化系统、后台管理系统等,希望能够给大家带来一点帮助:)   1、项目名称:分布式敏捷开发系统架构     项目简介:基于 Spring + SpringMVC + Mybatis 分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。   项目地址:https://gitee.com/shuzheng/zheng   2、项目名称:模块化开发系统     项目简介:以 SpringBoot 为中心,模块化开发系统,用户可以随意删减除权限框架外 任意的系统模块。复用,组装性强主要应用技术: spring Security Ehcache quartz swagger2 Mysql5.6 springjdbc druid spring social spring session layerui+vue.js 项目地址:https://gitee.com/YYDeament/88ybg   3、项目名称:JAVA 分布式快速开发平台     项目简介:JAVA 分布式快速开发平台:SpringBoot,SpringMVC,Mybatis,mybatis-plus,motan/dubbo分布式,Redis 缓存,Shiro 权限管理,Spring-Session 单点登录,Quartz 分布式集群调度,Restful 服务,QQ/微信登录,App token 登录,微信/支付宝支付;日期转换、数据类型转换、序列化、汉字转拼音、身份证号码验证、数字转人民币、发送短信、发送邮件、加密解密、图片处理、excel 导入导出、FTP/SFTP/fastDFS 上传下载、二维码、XML 读写、高精度计算、系统配置工具类等。   项目地址:https://gitee.com/iBase4J/iBase4J   4、项目名称:快速开发框架 ThinkGem   项目简介:Java EE(J2EE)快速开发框架,基于经典技术组合(Spring MVC、Apache Shiro、MyBatis、Bootstrap UI),包括核心模块如:组织机构、角色用户、权限授权、数据权限、内容管理、工作流等。虽说很长时间没有大的更新了,但它的架构精良易于扩展深受大家喜爱,依然是中小企业的首选,它的功能设计、底层架构也非常具有参考意义、是学习入门的首选。关注我ThinkGem开源中国博客了解4.0最新动态。   项目地址:https://gitee.com/thinkgem/jeesite   5、项目名称:Java 快速开发平台 MCMS   项目简介:完整开源,Java 快速开发平台。基于 Spring、SpringMVC、Mybatis 架构,MStore 提供更多好用的插件与模板(文章、商城、微信、论坛、会员、评论、支付、积分、工作流、任务调度等,同时提供上百套免费模板任意选择),价值源自分享!铭飞系统不仅一套简单好用的开源系统、更是一整套优质的开源生态内容体系。   项目地址:https://gitee.com/mingSoft/MCMS   6、项目名称:分布式秒杀系统 项目简介:可能秒杀架构原理大家都懂,网上也有不少实现方式,但大多都是文字的描述,告诉你如何如何,什么加锁、缓存、队列之类。但很少全面有的案例告诉你如何去做,既然是从0到1,希望以下代码案例可以帮助到你。当然最终落实到生产,还有很长的路要走,要根据自己的业务进行编码,实施并部署。你将会在代码案例中学到以下知识: 如何搭建 SpringBoot 微服务 ThreadPoolExecutor […]

龙生   21 Aug 2018
View Details

如何运行jnlp文件

运行DOS命令: C:\Users\thinkpad>javaws D:\***.jnlp 如提示“应用程序已被java安全阻止”则进入控制面板-》Java  打开java控制面板,在安全选项卡中设置例外站点即可。   from:https://www.cnblogs.com/101key/p/6478395.html

龙生   08 Aug 2018
View Details

Eclipse中集成Tomcat

问题: 很多时候在Eclipse中启动Tmocat后,不能访问本机的localhost:8080主页,并且其他项目也不能访问。 原因: 打开Tomcat下的webapp后也找补到项目目录,这是因为Eclipse将发布路径重定向了,没有放到tomcat下的webapp中。 解决: 在Eclipse中集成Tomcat,在Eclipse中启动后能够访问localhost:8080和项目网站。 1.新建一个server File->New->Other->Server->Server->Next   我的tomcat是7.0.35,选择Apache下的Tomcat v6.0 Server,自己起一个Server Name点击Next   弹出对话框中配置Server,配置Tomcat安装路径和选择相应的Jre后,点Finsh。(Next会让你选择要运行的项目,先不必选) OK,一个Server创建完毕。 2.配置部署路径 在Eclipse的Server窗口双击刚建好的Tomcat v7.0,出现配置界面, 可以看到上图中选择的是 Use workspace metadata(does not modify Tomcat installion) 如果该tomcat中部署了项目的话,这红圈中的选项会灰掉不能修改,要修改必须得先把tomcat中的部署的服务都移除。 (修改方法是Server窗口中右键新建的Tomcat v7.0选择Add and Remove)   选择Use tomcat installation(Task control of Tomcat installation) 即选择tomcat的安装目录来作为项目的发布目录,选择该项后,Server path会变成tomcat的安装目录, 接下来,有个Deploy path部署目录,默认是wtpwebapps,改成tomcat的发布目录webapps 改完配置后保存关闭,在Eclipse中启动新建的tomcat v7.0后,就可以正常访问localhost:8080了。   from:https://blog.csdn.net/zheng__jun/article/details/52471304

龙生   13 Jul 2018
View Details

Service Fabric —— Stateful Service 概念

上节中我们谈到了Service Fabric最底层的两个概念,一个是针对硬件层面而言的Node Type和Node。另一个是Application。   Node Type是Node的集合,Node是对部署机器的概念抽象。对Service Fabric而言,Node可以是物理机,虚拟机,甚至现在最主流的Container。   在Node Type上运行的是Application。它是针对系统软件层面的抽象理解。一个Application中包含了多个Micro Service。甚至Service Fabric的所有基础服务,例如FailoverManager Service,Naming Service,也都是Micro Service。   Service Fabric所有分布式特性都对应于Micro Service展开。我们可以动态调整一个Micro Service需要在多少个Node上运行多少个实例来分摊负载压力,或者进行容灾备份。每一个实例都会监听不同的端口,由负载均衡层将请求分布至不同实例上。     实际场景 Stateful Service是其中的一种Micro Service。 在开始介绍Stateful Service之前,让我们来考虑下面这种很常见的业务场景。   你正在考虑实现网站里面的购物车功能。用户登录后会放置一些商品在自己的购物车中。 用户下次登录,前台页面会调用购物车服务,并需要从这个服务重新读取已经保存的购物车数据并用以显示。 如果是你会怎么实现? 如果在用户量不是特别大的一般情况下,我们会在数据库中添加一张购物车表,和用户表进行关联。该购物车表中会有一个用户ID字段,并且记录大量的用户购物车数据。     那么这样就会带来一些后续问题。 如果用户量持续增加,数据库表的性能会持续下降。 数据库表数据需要定期备份,以防数据丢失 如果数据库性能出现问题,需要将表进行拆表处理,甚至需要将表进行分区 购物车系统自身也需要针对数据库的任何调整进行处理,甚至它自身可能也需要做负载均衡 这种问题的根源在于,首先系统本身的设计不是面向可扩展的。另外数据库是一个性能潜在的瓶颈和威胁。   Stateful Service 让我们考虑这样一种全新的架构。 从一开始,购物车系统就由36个子服务来处理所有的请求(36个是因为用户ID的首字母是 0-9 a-z,一共36种)。 用户的请求,会根据用户ID首字母hash至某个特定的子服务来处理。 子服务把购物车数据通过轻量级数据库方式保存在自己内部,并且持久化到自己所在的存储设备上。 每个子服务还有3个备份,这些备份在不停同步保存的数据,同时这些备份永远运行在不同的Node上。 同时只有一个备份作为激活状态来负责处理请求,当激活备份出现问题,另外两个备份根据调度算法激活一个。 容灾子系统再创建一个新的备份,永远保证该子服务有3个健康的备份。   Stateful Service就是这样的一种解决方案。 回到上面的场景,购物车系统就是一个Stateful Service。 36个子系统就是这个Stateful Service的36个实例,我们叫Partition。 每个子系统下的备份就是Replica,一个partition有3个Replica。 当前激活的备份就是Active Replica,两个未激活的待命备份就是Secondary Replica。 同一个Partiion的每个Replica都一定运行在不同的Node上面。 Stateful Service代码通过IReliableCollection<T>,IReliableDictionary<T1, T2>等接口来进行数据保存和内部同步。   此外,Stateful Service还可以实现以下特性。 以上所有的数字都可以重新设置,你可以让购物车系统有几百个partition来负载更大的压力。你甚至可以让每个partition有5个甚至更多Replica来保证更多的健壮性。 外部系统不关心Stateful Service有多少个partition,它们通过partition key来进行调用。Partition Key和具体的对应Partition之间由Service Fabric的底层Micro Service进行解析。例如在你的业务中,你可能有几百万用户,但是只设置5个partition。当调用购物车Stateful Service时,外部系统只需要告知:用户ID(partition key),保存的数据。这个请求会自动根据用户ID及hash算法固定映射到5个partition中的一个。 Stateful Service的数据操作支持事务(Transaction)。因此你可以在失败时回滚(Rollback)   希望以上的介绍可以帮助大家更好的理解Stateful Service。 我们会在后面的章节中介绍Stateful Service的代码示例。   […]

龙生   13 Jul 2018
View Details
1 51 52 53 65