12 2019 档案

SpringResourceBundleMessageSource示例(转)
摘要:对于支持国际化的应用程序,它需要能够为不同的语言环境解析文本消息。Spring的应用程序上下文能够通过键解析目标语言环境的文本消息。通常,一个语言环境的消息应存储在一个单独的属性文件中。此属性文件称为资源包。 MessageSource是一个接口,它定义了几种解析消息的方法。该Application 阅读全文

posted @ 2019-12-31 15:24 木西-Muxy 阅读(1301) 评论(0) 推荐(0) 编辑

通过ApplicationContextAware加载Spring上下文环境(转)
摘要:项目用到了ApplicationContextAware,通过它Spring容器会自动把上下文环境对象调用ApplicationContextAware接口中的setApplicationContext方法。 我们在ApplicationContextAware的实现类中,就可以通过这个上下文环境对 阅读全文

posted @ 2019-12-31 14:49 木西-Muxy 阅读(337) 评论(0) 推荐(0) 编辑

@ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常(转)
摘要:零、前言对于与数据库相关的 Spring MVC 项目,我们通常会把 事务 配置在 Service层,当数据库操作失败时让 Service 层抛出运行时异常,Spring 事物管理器就会进行回滚。 如此一来,我们的 Controller 层就不得不进行 try-catch Service 层的异常, 阅读全文

posted @ 2019-12-31 14:09 木西-Muxy 阅读(468) 评论(0) 推荐(0) 编辑

SpringBoot学习(十一)创建自己的自动配置和Kotlin支持
摘要:一、创建自己的自动配置 如果您在开发共享库的公司工作,或者在开源或商业库上工作,您可能希望开发自己的自动配置。自动配置类可以绑定在外部jar中,并且仍然可以通过Spring Boot获得。 自动配置可以与一个“启动器”相关联,启动器提供自动配置代码以及您将与其一起使用的典型库。我们首先介绍构建您自己 阅读全文

posted @ 2019-12-30 17:22 木西-Muxy 阅读(898) 评论(0) 推荐(0) 编辑

SpringBoot学习(十)Spring集成、会话、(监视和管理JMX)、WebSockets和web服务
摘要:一、Spring集成 Spring Boot为使用Spring Integration提供了一些便利,包括spring-boot-starter-integration “Starter”。Spring Integration提供了消息传递和其他传输(如HTTP、TCP等)的抽象。如果Spring 阅读全文

posted @ 2019-12-30 16:21 木西-Muxy 阅读(738) 评论(0) 推荐(1) 编辑

BindingResult不能获取错误对象
摘要:今天使用该对象来打印错误信息时,发现获取不到对象。总结有以下几点: 1. 没有加入校验用jar包: 2. 需要在spring配置文件中加入: 3. UserModel中如果是校验表单输入框是否为空,应使用: 4. BindingResult必须跟表单对象配对使用: 如:UserModel user, 阅读全文

posted @ 2019-12-30 14:14 木西-Muxy 阅读(1241) 评论(0) 推荐(0) 编辑

SpringBoot学习(九)使用JTA的分布式事务、Hazelcast、Quartz调度器和任务执行和调度
摘要:一、使用JTA的分布式事务 通过使用Atomikos或Bitronix嵌入式事务管理器,Spring Boot支持跨多个XA资源的分布式JTA事务。在部署到适当的Java EE应用服务器时,也支持JTA事务。 当检测到JTA环境时,Spring的JtaTransactionManager用于管理事务 阅读全文

posted @ 2019-12-28 17:44 木西-Muxy 阅读(1853) 评论(0) 推荐(0) 编辑

XA 分布式事务原理(转)
摘要:XA是由X/Open组织提出的分布式事务的规范。 XA规范主要定义了(全局)事务管理器(TM)和(局 部)资源管理器(RM)之间的接口。主流的关系型 数据库产品都是实现了XA接口的。 XA接口是双向的系统接口,在事务管理器 (TM)以及一个或多个资源管理器(RM)之 间形成通信桥梁。 XA之所 阅读全文

posted @ 2019-12-28 16:38 木西-Muxy 阅读(860) 评论(0) 推荐(0) 编辑

SpringBoot学习(八)RestTemplate/WebClient 调用REST服务、Validation校验和发邮件
摘要:一、RestTemplate调用Rest服务 如果需要从应用程序调用远程REST服务,可以使用Spring框架的RestTemplate类。由于在使用RestTemplate实例之前通常需要进行自定义,因此Spring Boot不提供任何单个自动配置的RestTemplate bean。但是,它会自 阅读全文

posted @ 2019-12-27 18:03 木西-Muxy 阅读(855) 评论(0) 推荐(0) 编辑

@Valid和@Validated的总结区分(转)
摘要:@Valid: @Valid注解用于校验,所属包为:javax.validation.Valid。 ① 首先需要在实体类的相应字段上添加用于充当校验条件的注解,如:@Min,如下代码(age属于Girl类中的属性): @Min(value = 18,message = "未成年禁止入内") priv 阅读全文

posted @ 2019-12-27 17:57 木西-Muxy 阅读(2367) 评论(0) 推荐(0) 编辑

Dubbo 同步调用原理(转)
摘要:Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。 Dubbo缺省协议,使用基于mina1.1.7+hessian3.2.1的tbremoting交互。 连接个数:单连接 连接方式:长连接 传输协议:TCP 传输方式: 阅读全文

posted @ 2019-12-27 17:22 木西-Muxy 阅读(815) 评论(0) 推荐(0) 编辑

SpringBoot学习(七)Caching和Messaging
摘要:一、Caching Spring框架支持向应用程序透明地添加缓存。抽象的核心是将缓存应用于方法,从而减少了基于缓存中可用信息的执行次数。缓存逻辑是透明地应用的,对调用程序没有任何干扰。只要通过@EnableCaching注释启用了缓存支持,Spring Boot就会自动配置缓存基础设施。 有关更多细 阅读全文

posted @ 2019-12-27 10:02 木西-Muxy 阅读(934) 评论(0) 推荐(0) 编辑

深入理解CachingConnectionFactory(转)
摘要:CachingConnectionFactory类扩展自SingleConnectionFactory,主要用于提供缓存JMS资源功能。具体包括MessageProducer、MessageConsumer和Session的缓存功能。 public class CachingConnectionFa 阅读全文

posted @ 2019-12-26 09:55 木西-Muxy 阅读(4457) 评论(0) 推荐(0) 编辑

SpringBoot学习(六)SQL数据库和NOSQL数据库
摘要:一、使用SQL数据库 Spring框架为使用SQL数据库提供了广泛的支持,从使用JdbcTemplate的直接JDBC访问到完成Hibernate等“对象关系映射”技术。Spring Data提供了附加的功能级别:直接从接口创建存储库实现,并使用约定从方法名生成查询。 1.配置数据源 Java的ja 阅读全文

posted @ 2019-12-25 16:37 木西-Muxy 阅读(922) 评论(0) 推荐(0) 编辑

解决getWriter() has already been called for this response异常(转)
摘要:近期,查看公司应用日志系统error错误信息时,发现了大量的nested exception is java.lang.IllegalStateException: getWriter() has already been called for this response异常。这个错误以前见到过,也 阅读全文

posted @ 2019-12-25 09:29 木西-Muxy 阅读(17170) 评论(0) 推荐(0) 编辑

Http请求中Content-Type讲解以及在Spring MVC注解中produce和consumes配置详解(转)
摘要:引言: 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值,以及在spring MVC中如何使用它们来映射请求信息。 1. Content-Type Medi 阅读全文

posted @ 2019-12-25 09:22 木西-Muxy 阅读(3358) 评论(0) 推荐(0) 编辑

SpringBoot学习(五)RSocket和Security
摘要:一、RSocket RSocket是一个用于字节流传输的二进制协议。它通过在单个连接上传递异步消息来支持对称交互模型,主要支持的通讯层包括 TCP, WebSockets和Aeron(UDP)。 RSocket主要采用异步消息模型进行通讯,通过单一连接解决所有的异步消息交换。主要包括以下通讯模型: 阅读全文

posted @ 2019-12-21 17:05 木西-Muxy 阅读(2375) 评论(0) 推荐(1) 编辑

SpringBoot学习(四)开发web应用
摘要:Spring Boot非常适合web应用程序开发。可以使用嵌入式Tomcat、Jetty、Undertow或Netty创建自包含的HTTP服务器。大多数web应用程序使用spring-boot-starter-web模块来快速启动和运行。您还可以选择使用spring-boot-starter-web 阅读全文

posted @ 2019-12-19 22:44 木西-Muxy 阅读(1669) 评论(0) 推荐(0) 编辑

HttpMessageConverter(消息转换器 )和@responsebody使用(转)
摘要:@responsebody表示该方法的返回结果直接写入HTTP response body中 一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。 阅读全文

posted @ 2019-12-19 17:43 木西-Muxy 阅读(1328) 评论(0) 推荐(0) 编辑

SpringBoot整合Gson(转)
摘要:第一步:移除jackson依赖 参考代码 第二步:加入gson依赖 参考代码 完成 ps:进入WebMvcConfigurationSupport.java可以看到源码 可以看到有这两个常量 一个是我们加入的gson,另一个则是jackson了。 其中还有这样一个方法,用来返回messageConv 阅读全文

posted @ 2019-12-19 16:15 木西-Muxy 阅读(2227) 评论(0) 推荐(0) 编辑

SpringBoot官方文档学习(三)配置文件、日志、国际化和JSON
摘要:一、Profiles Spring配置文件提供了一种方法来隔离应用程序配置的各个部分,并使其仅在某些环境中可用。任何@Component、@Configuration或@ConfigurationProperties都可以标记为@Profile来限制加载时间,如下面的示例所示: 注:如果@Confi 阅读全文

posted @ 2019-12-19 16:01 木西-Muxy 阅读(1782) 评论(0) 推荐(0) 编辑

SpringBoot官方文档学习(二)Externalized Configuration(外部化配置)
摘要:Spring Boot允许您将配置外部化,以便可以在不同的环境中使用相同的应用程序代码。您可以使用属性文件、YAML文件、环境变量和命令行参数来具体化配置。属性值可以通过使用@Value注释直接注入bean,可以通过Spring的环境抽象访问,也可以通过@ConfigurationPropertie 阅读全文

posted @ 2019-12-17 22:29 木西-Muxy 阅读(329) 评论(0) 推荐(0) 编辑

SpringBoot官方文档学习(一)SpringApplication
摘要:Springboot通过main方法启动,在许多情况下,委派给静态SpringApplication.run方法: 启动后,输出的内容: 默认情况下,显示INFO日志级别。也可以在application.properties文件中配置你想要的日志级别: 如果想关闭启动日志的话,可以配置:spring 阅读全文

posted @ 2019-12-17 18:17 木西-Muxy 阅读(425) 评论(0) 推荐(0) 编辑

springboot开发人员工具(自动重启及相关的配置)
摘要:导入依赖: Developer tools are automatically disabled when running a fully packaged application. If your application is launched from java -jar or if it is 阅读全文

posted @ 2019-12-17 14:28 木西-Muxy 阅读(1502) 评论(0) 推荐(0) 编辑

Arthas使用指南
摘要:Arthas 能为你做什么? 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在预发 debug 一下,难道只能通过加日志再重新预发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 阅读全文

posted @ 2019-12-17 11:19 木西-Muxy 阅读(1036) 评论(0) 推荐(0) 编辑

Springboot打包及远程调试
摘要:如果您使用Spring Boot Maven或Gradle插件来创建可执行jar,则可以使用来运行您的应用程序java -jar,如以下示例所示: 如果您使用Spring Boot Maven或Gradle插件来创建可执行jar,则可以使用来运行您的应用程序java -jar,如以下示例所示: $ 阅读全文

posted @ 2019-12-16 21:02 木西-Muxy 阅读(345) 评论(0) 推荐(0) 编辑

Spring Boot学习--spring-boot-starter-parent及starters(转)
摘要:在官方文档的第三部分的13块讲述了引用的管理,官方推荐的是使用Maven和Gradle。 我一直在用的是maven,而且使用maven有些优势–spring-boot-starter-parent,这个部件是maven独有的。 这次我们从这里开始学习。 Maven的用户可以通过继承spring-bo 阅读全文

posted @ 2019-12-16 16:16 木西-Muxy 阅读(3032) 评论(0) 推荐(0) 编辑

SpringMVC数据格式化
摘要:SpringMVC数据格式化 1. 使用Formatter格式化数据 Converter可以将一种类型转换成另一种类型,是任意Object之间的类型转换。 Formatter则只能进行String与任意Object对象的转换,它提供 解析 与 格式化 两种功能。 其中:解析是将String类型字符串 阅读全文

posted @ 2019-12-16 15:13 木西-Muxy 阅读(905) 评论(0) 推荐(0) 编辑

Java处理小数点后几位
摘要://方式一: //四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //保留两位小数 方式二: java.text.DecimalFormat df =new java.text.Decim 阅读全文

posted @ 2019-12-16 14:42 木西-Muxy 阅读(2553) 评论(0) 推荐(0) 编辑

docker学习(七)常见仓库介绍
摘要:将介绍常见的一些仓库和镜像的功能,使用方法和生成它们的 Dockerfile 等。包括 Ubuntu、CentOS、MySQL、MongoDB、Redis、Nginx、Wordpress、Node.js 等。 1.Ubuntu https://www.runoob.com/docker/docker 阅读全文

posted @ 2019-12-11 19:31 木西-Muxy 阅读(482) 评论(0) 推荐(0) 编辑

docker学习(六) Docker命令查询
摘要:Docker命令查询 1.基本语法docker [OPTIONS] COMMAND [arg...]一般来说,Docker 命令可以用来管理 daemon,或者通过 CLI 命令管理镜像和容器。可以通过 man docker 来查看这些命令。 选项-D=true|false使用 debug 模式。默 阅读全文

posted @ 2019-12-11 17:14 木西-Muxy 阅读(611) 评论(0) 推荐(0) 编辑

docker学习(六)
摘要:一、Dockerfile使用 Dockerfile 可以允许用户创建自定义的镜像。 1.基本结构Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。一般的,Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。例如# This docke 阅读全文

posted @ 2019-12-11 17:01 木西-Muxy 阅读(122) 评论(0) 推荐(0) 编辑

docker学习(五)
摘要:一、实战案例介绍一些典型的应用场景和案例。 1.使用Supervisor来管理进程Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务。但我们经常需要在一个机器上开启多个服务,这可以有很多方法,最简单的就是把多个启动命令方到一个启动脚本里面,启动 阅读全文

posted @ 2019-12-11 16:26 木西-Muxy 阅读(256) 评论(0) 推荐(0) 编辑

docker学习(四)
摘要:一、Docker数据管理 在容器中管理数据主要有两种方式:1.数据卷(Data volumes)2.数据卷容器(Data volume containers) 1.数据卷数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:a.数据卷可以在容器之间共享和重用b.对数据 阅读全文

posted @ 2019-12-11 15:55 木西-Muxy 阅读(194) 评论(0) 推荐(0) 编辑

线程安全的可控制最大容量且带有过期时间的本地缓存(转)
摘要:最近在公司优化一个接口的时候打算使用一个key-value结构的本地缓存。需要实现的功能非常简单:1、可以控制本地缓存的最大对象数量。2、线程安全,防止发生OOM。3、同时支持设置单个对象的过期时间。 面对这个需求,我的选择很多,有很多框架都做的非常好,但大多数框架对我来说都太重量级了,我希望一个简 阅读全文

posted @ 2019-12-11 14:45 木西-Muxy 阅读(457) 评论(0) 推荐(0) 编辑

google Guava包的reflection(反射)解析
摘要:译者:万天慧(武祖) 由于类型擦除,你不能够在运行时传递泛型类对象——你可能想强制转换它们,并假装这些对象是有泛型的,但实际上它们没有。 举个例子: Guava提供了TypeToken, 它使用了基于反射的技巧甚至让你在运行时都能够巧妙的操作和查询泛型类型。想象一下TypeToken是创建,操作,查 阅读全文

posted @ 2019-12-11 14:11 木西-Muxy 阅读(976) 评论(0) 推荐(0) 编辑

[Google Guava] 12-数学运算
摘要:原文链接 译文链接 译者:沈义扬 范例 1 int logFloor = LongMath.log2(n, FLOOR); 2 int mustNotOverflow = IntMath.checkedMultiply(x, y); 3 long quotient = LongMath.divide 阅读全文

posted @ 2019-12-11 14:09 木西-Muxy 阅读(327) 评论(0) 推荐(0) 编辑

[Google Guava] 11-事件总线
摘要:原文链接 译文连接 译者:沈义扬 传统上,Java的进程内事件分发都是通过发布者和订阅者之间的显式注册实现的。设计EventBus就是为了取代这种显示注册方式,使组件间有了更好的解耦。EventBus不是通用型的发布-订阅实现,不适用于进程间通信。 范例 01 // Class is typical 阅读全文

posted @ 2019-12-11 14:08 木西-Muxy 阅读(297) 评论(0) 推荐(1) 编辑

[Google Guava] 10-散列
摘要:原文链接 译文链接 译者:沈义扬 概述 Java内建的散列码[hash code]概念被限制为32位,并且没有分离散列算法和它们所作用的数据,因此很难用备选算法进行替换。此外,使用Java内建方法实现的散列码通常是劣质的,部分是因为它们最终都依赖于JDK类中已有的劣质散列码。 Object.hash 阅读全文

posted @ 2019-12-11 14:02 木西-Muxy 阅读(341) 评论(0) 推荐(0) 编辑

[Google Guava] 9-I/O
摘要:原文链接 译文链接 译者:沈义扬 字节流和字符流 Guava使用术语”流” 来表示可关闭的,并且在底层资源中有位置状态的I/O数据流。术语”字节流”指的是InputStream或OutputStream,”字符流”指的是Reader 或Writer(虽然他们的接口Readable 和Appendab 阅读全文

posted @ 2019-12-11 14:00 木西-Muxy 阅读(229) 评论(0) 推荐(0) 编辑

Google-Guava Concurrent包里的Service框架浅析
摘要:原文地址 译文地址 译者:何一昕 校对:方腾飞 概述 Guava包里的Service接口用于封装一个服务对象的运行状态、包括start和stop等方法。例如web服务器,RPC服务器、计时器等可以实现这个接口。对此类服务的状态管理并不轻松、需要对服务的开启/关闭进行妥善管理、特别是在多线程环境下尤为 阅读全文

posted @ 2019-12-11 13:47 木西-Muxy 阅读(1358) 评论(0) 推荐(0) 编辑

[Google Guava] 8-区间
摘要:原文链接 译文链接 译文:沈义扬 范例 1 List scores; 2 Iterable belowMedian =Iterables.filter(scores,Range.lessThan(median)); 3 ... 4 Range validGrades = Range.closed(1 阅读全文

posted @ 2019-12-11 13:44 木西-Muxy 阅读(318) 评论(0) 推荐(0) 编辑

[Google Guava] 7-原生类型
摘要:原文链接 译文链接 译者:沈义扬,校对:丁一 概述 Java的原生类型就是指基本类型:byte、short、int、long、float、double、char和boolean。 在从Guava查找原生类型方法之前,可以先查查Arrays类,或者对应的基础类型包装类,如Integer。 原生类型不能 阅读全文

posted @ 2019-12-11 11:14 木西-Muxy 阅读(230) 评论(0) 推荐(0) 编辑

[Google Guava] 6-字符串处理:分割,连接,填充
摘要:原文链接 译文链接 译者:沈义扬,校对:丁一 连接器[Joiner] 用分隔符把字符串序列连接起来也可能会遇上不必要的麻烦。如果字符串序列中含有null,那连接操作会更难。Fluent风格的Joiner让连接字符串更简单。 1 Joiner joiner = Joiner.on("; ").skip 阅读全文

posted @ 2019-12-11 11:12 木西-Muxy 阅读(272) 评论(0) 推荐(0) 编辑

google Guava包的ListenableFuture解析
摘要:原文地址 译者:罗立树 校对:方腾飞 并发编程是一个难题,但是一个强大而简单的抽象可以显著的简化并发的编写。出于这样的考虑,Guava 定义了 ListenableFuture接口并继承了JDK concurrent包下的Future 接口。 我们强烈地建议你在代码中多使用ListenableFut 阅读全文

posted @ 2019-12-11 10:51 木西-Muxy 阅读(443) 评论(0) 推荐(0) 编辑

[Google Guava] 4-函数式编程
摘要:原文链接 译文链接 译者:沈义扬,校对:丁一 注意事项 截至JDK7,Java中也只能通过笨拙冗长的匿名类来达到近似函数式编程的效果。预计JDK8中会有所改变,但Guava现在就想给JDK5以上用户提供这类支持。 过度使用Guava函数式编程会导致冗长、混乱、可读性差而且低效的代码。这是迄今为止最容 阅读全文

posted @ 2019-12-10 15:36 木西-Muxy 阅读(232) 评论(0) 推荐(0) 编辑

[Google Guava] 3-缓存
摘要:原文地址 译文地址 译者:许巧辉 校对:沈义扬 范例 01 LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder() 02 .maximumSize(1000) 03 .expireAfterWrite(10, TimeUnit.MINU 阅读全文

posted @ 2019-12-10 15:22 木西-Muxy 阅读(164) 评论(0) 推荐(0) 编辑

[Google Guava] 2.4-集合扩展工具类
摘要:原文链接 译文链接 译者:沈义扬,校对:丁一 简介 有时候你需要实现自己的集合扩展。也许你想要在元素被添加到列表时增加特定的行为,或者你想实现一个Iterable,其底层实际上是遍历数据库查询的结果集。Guava为你,也为我们自己提供了若干工具方法,以便让类似的工作变得更简单。(毕竟,我们自己也要用 阅读全文

posted @ 2019-12-10 15:09 木西-Muxy 阅读(265) 评论(0) 推荐(0) 编辑

[Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具
摘要:原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法。Guava沿着这些路线提供了更多的工具方法:适用于所有集合的静态方法。这是Guava最流行和成熟的部分 阅读全文

posted @ 2019-12-10 14:52 木西-Muxy 阅读(387) 评论(0) 推荐(0) 编辑

[Google Guava] 2.2-新集合类型
摘要:原文链接 译文链接 译者:沈义扬,校对:丁一 Guava引入了很多JDK没有的、但我们发现明显有用的新集合类型。这些新类型是为了和JDK集合框架共存,而没有往JDK集合抽象中硬塞其他概念。作为一般规则,Guava集合非常精准地遵循了JDK接口契约。 Multiset 统计一个词在文档中出现了多少次, 阅读全文

posted @ 2019-12-10 14:41 木西-Muxy 阅读(382) 评论(0) 推荐(0) 编辑

[Google Guava] 2.1-不可变集合
摘要:范例 01 public static final ImmutableSet<String> COLOR_NAMES = ImmutableSet.of( 02 "red", 03 "orange", 04 "yellow", 05 "green", 06 "blue", 07 "purple"); 阅读全文

posted @ 2019-12-10 14:12 木西-Muxy 阅读(263) 评论(0) 推荐(0) 编辑

[Google Guava] 1.5-Throwables:简化异常和错误的传播与检查
摘要:原文链接 译者: 沈义扬 异常传播 有时候,你会想把捕获到的异常再次抛出。这种情况通常发生在Error或RuntimeException被捕获的时候,你没想捕获它们,但是声明捕获Throwable和Exception的时候,也包括了了Error或RuntimeException。Guava提供了若干 阅读全文

posted @ 2019-12-10 13:58 木西-Muxy 阅读(305) 评论(0) 推荐(0) 编辑

[Google Guava] 排序: Guava强大的”流畅风格比较器”
摘要:原文链接 译者: 沈义扬 排序器[Ordering]是Guava流畅风格比较器[Comparator]的实现,它可以用来为构建复杂的比较器,以完成集合排序的功能。 从实现上说,Ordering实例就是一个特殊的Comparator实例。Ordering把很多基于Comparator的静态方法(如Co 阅读全文

posted @ 2019-12-10 11:46 木西-Muxy 阅读(284) 评论(0) 推荐(0) 编辑

[Google Guava] 1.3-常见Object方法
摘要:原文链接 译者: 沈义扬 equals 当一个对象中的字段可以为null时,实现Object.equals方法会很痛苦,因为不得不分别对它们进行null检查。使用Objects.equal帮助你执行null敏感的equals判断,从而避免抛出NullPointerException。例如: 1 Ob 阅读全文

posted @ 2019-12-10 11:36 木西-Muxy 阅读(226) 评论(0) 推荐(0) 编辑

[Google Guava] 1.2-前置条件
摘要:原文链接 译文链接 译者: 沈义扬 前置条件:让方法调用的前置条件判断更简单。 Guava在Preconditions类中提供了若干前置条件判断的实用方法,我们强烈建议在Eclipse中静态导入这些方法。每个方法都有三个变种: 没有额外参数:抛出的异常中没有错误消息; 有一个Object对象作为额外 阅读全文

posted @ 2019-12-10 11:24 木西-Muxy 阅读(224) 评论(0) 推荐(0) 编辑

[Google Guava] 1.1-使用和避免null
摘要:原文链接 译文链接 译者: 沈义扬 Doug Lea 说,“Null 真糟糕。” 当Sir C. A. R. Hoare 使用了null引用后说,”使用它导致了十亿美金的错误。” 轻率地使用null可能会导致很多令人惊愕的问题。通过学习Google底层代码库,我们发现95%的集合类不接受null值作 阅读全文

posted @ 2019-12-10 10:53 木西-Muxy 阅读(293) 评论(0) 推荐(0) 编辑

docker学习(三)
摘要:一、容器 1.启动容器 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。所需要的命令主要为 docker run 。例如,下面的命令输出一个 “Hello W 阅读全文

posted @ 2019-12-09 15:17 木西-Muxy 阅读(228) 评论(0) 推荐(0) 编辑

docker学习(二)
摘要:一、Docker 镜像 Docker 运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker 会从镜像仓库下载(默认是Docker Hub 公共注册服务器中的仓库)。 1.获取镜像 可以使用 docker pull 命令来从仓库获取所需要的镜像。下面的例子将从 Docker Hub 仓库 阅读全文

posted @ 2019-12-07 16:31 木西-Muxy 阅读(188) 评论(0) 推荐(0) 编辑

使用Eclipse进行远程调试(转)
摘要:做开发好多年了,Debug大家肯定都不陌生,绝对称得上是家常便饭了。博主虽不敢妄下断言,但是这里也猜一下,肯定有很多人都没有使用过Remote Debug(远程调试)。说来惭愧,博主也是工作了3年才用上这么个玩意,今天又使用到,所以整理个帖子分享一下。 何谓远程调试,就是我们把打包后的代码部署到服务 阅读全文

posted @ 2019-12-06 18:05 木西-Muxy 阅读(411) 评论(0) 推荐(0) 编辑

docker学习(一)
摘要:什么是docker? Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub上进行维护。 为什么要使用 阅读全文

posted @ 2019-12-06 10:32 木西-Muxy 阅读(215) 评论(0) 推荐(0) 编辑

Mysql批量更新的一个坑-&allowMultiQueries=true允许批量更新(转)
摘要:实际上,我们经常会遇到这样的需求,那就是利用Mybatis批量更新或者批量插入,但是,实际上即使Mybatis完美支持你的sql,你也得看看你说操作的数据库是否支持,而阿福,最近就遇到这样的一个坑。 问题 先带大家来看一段sql的配置, <update id="updateAllAvailable" 阅读全文

posted @ 2019-12-05 15:09 木西-Muxy 阅读(1284) 评论(0) 推荐(0) 编辑

浅析pagehelper分页原理(转)
摘要:之前项目一直使用的是普元框架,最近公司项目搭建了新框架,主要是由公司的大佬搭建的,以springboot为基础。为了多学习点东西,我也模仿他搭了一套自己的框架,但是在完成分页功能的时候,确遇到了问题。 框架的分页组件使用的是pagehelper,对其我也是早有耳闻,但是也是第一次接触(ps:工作1年 阅读全文

posted @ 2019-12-05 13:33 木西-Muxy 阅读(950) 评论(1) 推荐(0) 编辑

PageHelper使用中出现的问题
摘要:PageHelper在分页查询的时候功能强大,内部使用拦截器实现。这边文章做了详细的介绍。 https://www.cnblogs.com/ljdblog/p/6725094.html https://blog.csdn.net/qq_21996541/article/details/7979611 阅读全文

posted @ 2019-12-05 11:24 木西-Muxy 阅读(422) 评论(0) 推荐(0) 编辑

shiro框架的UsernamePasswordToken与对应Realm中的AuthenticationToken的一点比较(转)
摘要:这里以简单的登陆为例子 控制器对应的登陆方法: 在这里打印了所有的UsernamePasswordToken的属性值 再在对应的Realm中打印一下接收的AuthenticationToken的所有属性值 一个简单的例子: 打印结果: 注意: credentials这个属性,在UsernamePas 阅读全文

posted @ 2019-12-05 11:12 木西-Muxy 阅读(6886) 评论(0) 推荐(0) 编辑

Shiro-Subject 分析(转)
摘要:Subject反正就好像呈现的视图。所有Subject 都绑定到SecurityManager,与Subject的所有交互都会委托给SecurityManager;可以把Subject认为是一个门面;SecurityManager才是实际的执行者; 对于上面这句话的理解呢?怎么去理解这个很重要,看看 阅读全文

posted @ 2019-12-05 10:45 木西-Muxy 阅读(1116) 评论(0) 推荐(0) 编辑

Shiro 中的 SecurityUtils(转)
摘要:在 Shiro 中 SecurityUtils 是一个抽象类。并且没有任何子类。在其中声明了一个静态属性,三个静态方法。 静态属性 securityManager private static SecurityManager securityManager; 用来存储当前应用中全局唯一的一个Secu 阅读全文

posted @ 2019-12-05 10:33 木西-Muxy 阅读(9960) 评论(0) 推荐(0) 编辑

TransactionSynchronizationManager用法和含义(转)
摘要:原文链接:https://blog.csdn.net/ly199108171231/article/details/92984574 当我们有业务需要在事务提交过后进行某一项或者某一系列的业务操作时候我们就可以使用TransactionSynchronizationManager 通过spring的 阅读全文

posted @ 2019-12-05 10:09 木西-Muxy 阅读(9748) 评论(0) 推荐(0) 编辑

钉钉中设置代码提交提醒--Github机器人(转)
摘要:生成GitHub机器人webhook 从PC端或者手机端的群机器人入口进入到机器人管理页面,选择“GitHub机器人”,按照设置流程生成GitHub机器人,即可获取到相应群的webhook,其格式如下: https://oapi.dingtalk.com/robot/send?access_toke 阅读全文

posted @ 2019-12-04 17:16 木西-Muxy 阅读(1578) 评论(0) 推荐(0) 编辑

Spring Boot 之FilterRegistrationBean --支持web Filter 排序的使用(转)
摘要:Spring Boot 之FilterRegistrationBean --支持web Filter 排序的使用Spring 提供了FilterRegistrationBean类,此类提供setOrder方法,可以为filter设置排序值,让spring在注册web filter之前排序后再依次注册 阅读全文

posted @ 2019-12-04 17:08 木西-Muxy 阅读(2960) 评论(0) 推荐(0) 编辑

Spring Aop实例@Aspect、@Before、@AfterReturning@Around 注解方式配置(转)
摘要:用过spring框架进行开发的人,多多少少会使用过它的AOP功能,都知道有@Before、@Around和@After等advice。最近,为了实现项目中的输出日志和权限控制这两个需求,我也使用到了AOP功能。我使用到了@Before、@Around这两个advice。但在,使用过程中,却对它们的执 阅读全文

posted @ 2019-12-04 16:45 木西-Muxy 阅读(2225) 评论(0) 推荐(0) 编辑

为什么添加了@Aspect 还要加@Component(转)
摘要:官方文档中有写: You may register aspect classes as regular beans in your Spring XML configuration, or autodetect them through classpath scanning - just like 阅读全文

posted @ 2019-12-04 16:34 木西-Muxy 阅读(2014) 评论(0) 推荐(0) 编辑

Servlet 服务器 HTTP 响应
摘要:正如前面的章节中讨论的那样,当一个 Web 服务器响应一个 HTTP 请求时,响应通常包括一个状态行、一些响应报头、一个空行和文档。一个典型的响应如下所示: 状态行包括 HTTP 版本(在本例中为 HTTP/1.1)、一个状态码(在本例中为 200)和一个对应于状态码的短消息(在本例中为 OK)。 阅读全文

posted @ 2019-12-04 14:34 木西-Muxy 阅读(156) 评论(0) 推荐(0) 编辑

Servlet 客户端 HTTP 请求
摘要:当浏览器请求网页时,它会向 Web 服务器发送特定信息,这些信息不能被直接读取,因为这些信息是作为 HTTP 请求的头的一部分进行传输的。您可以查看 HTTP 协议 了解更多相关信息。 以下是来自于浏览器端的重要头信息,您可以在 Web 编程中频繁使用: 读取 HTTP 头的方法 下面的方法可用在 阅读全文

posted @ 2019-12-04 14:33 木西-Muxy 阅读(253) 评论(0) 推荐(0) 编辑

SpringBoot启动过程原理(转)
摘要:1.1 Springboot启动: 从上面代码看,调用了SpringApplication的静态方法run。这个run方法会构造一个SpringApplication的实例,然后再调用这里实例的run方法就表示启动SpringBoot。具体对象处理流程看下边时序图: 概述: 构造SpringAppl 阅读全文

posted @ 2019-12-03 16:13 木西-Muxy 阅读(802) 评论(0) 推荐(0) 编辑

Spring注解详解(转)
摘要:概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息— 阅读全文

posted @ 2019-12-03 15:36 木西-Muxy 阅读(239) 评论(0) 推荐(0) 编辑

Springboot注解@ServletComponentScan和@ComponentScan(转)
摘要:一、SpringBoot中使用Servlet在SpringBootApplication上使用@ServletComponentScan注解后,Servlet、Filter、Listener可以直接通过@WebServlet、@WebFilter、@WebListener注解自动注册,无需其他代码。 阅读全文

posted @ 2019-12-03 15:34 木西-Muxy 阅读(6212) 评论(0) 推荐(0) 编辑

kafka什么时候会丢消息(转)
摘要:因为在具体开发中某些环节考虑使用kafka却担心有消息丢失的风险,本周结合项目对kafka的消息可靠性做了一下调研和总结: 首先明确一下丢消息的定义。kafka集群中的部分或全部broker挂了,导致consumer没有及时收到消息,这不属于丢消息。broker挂了,只要消息全部持久化到了硬盘上,重 阅读全文

posted @ 2019-12-03 13:49 木西-Muxy 阅读(1740) 评论(0) 推荐(0) 编辑

Kafka中的消息是否会丢失和重复消费(转)
摘要:在之前的基础上,基本搞清楚了Kafka的机制及如何运用。这里思考一下:Kafka中的消息会不会丢失或重复消费呢?为什么呢? 要确定Kafka的消息是否丢失或重复,从两个方面分析入手:消息发送和消息消费 1、消息发送 Kafka消息发送有两种方式:同步(sync)和异步(async),默认是同步方式, 阅读全文

posted @ 2019-12-03 13:45 木西-Muxy 阅读(1592) 评论(0) 推荐(0) 编辑

excel操作之poi-ooxml
摘要:目前市场上流行的对于excel处理的框架大致有两种:poi和jxl。对于这两种框架,我们可以做一个简单的对比: 1 开发团队:poi是Apache旗下的一个开源项目,由Apache官方维护,jxl好像是一个个人维护的开源项目。 2 各自优点:poi对公式支持较好,jxl不算好 。jxl提供对图片的支 阅读全文

posted @ 2019-12-03 10:08 木西-Muxy 阅读(29367) 评论(0) 推荐(0) 编辑

spring-boot-configuration-processor 是干啥用的
摘要:spring默认使用yml中的配置,但有时候要用传统的xml或properties配置,就需要使用spring-boot-configuration-processor了 引入pom依赖 再在配置类开头加上@PropertySource("classpath:your.properties"),其余 阅读全文

posted @ 2019-12-03 10:03 木西-Muxy 阅读(10426) 评论(0) 推荐(0) 编辑

递归和尾递归的区别和原理(转)
摘要:递归和尾递归的区别和实现 基本上大多数C的入门教材里都会说简单的递归,例如求阶乘n!,经典的本科入门书籍谭浩强的《C语言程序设计》,但后来看了《代码大全2》这本书,关于进阶和编码规范的书中提到了,这些计算机教材用愚蠢的例子阶乘和斐波那契数列来讲解阶乘,因为递归是强有力的工具,但用阶乘去计算阶乘之类的 阅读全文

posted @ 2019-12-03 09:34 木西-Muxy 阅读(1910) 评论(0) 推荐(0) 编辑

kafka接口文档和kafka教程
摘要:http://kafka.apache.org/090/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html 教程:https://www.orchome.com/451 阅读全文

posted @ 2019-12-02 13:44 木西-Muxy 阅读(1080) 评论(0) 推荐(0) 编辑

quartz (从原理到应用)详解篇(转)
摘要:一、Quartz 基本介绍 1.1 Quartz 概述 1.2 Quartz特点 1.3 Quartz 集群配置 二、Quartz 原理及流程 2.1 quartz基本原理 2.2 quartz启动流程 三、Spring + Quartz 实现企业级调度的实现示例 3.1 环境信息 3.2 相关代码 阅读全文

posted @ 2019-12-02 10:14 木西-Muxy 阅读(8728) 评论(0) 推荐(2) 编辑

Elastic-Job开发指南(转)
摘要:原文地址:http://dangdangdotcom.github.io/elastic-job/post/1.x/user_guide/ 开发指南 代码开发 作业类型 目前提供3种作业类型,分别是Simple, DataFlow和Script。 DataFlow类型用于处理数据流,它又提供2种作业 阅读全文

posted @ 2019-12-02 10:04 木西-Muxy 阅读(1240) 评论(0) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示