04 2019 档案

摘要:Spring @Configuration 和 @Component 区别 下面看看实现的细节。 从定义来看, @Configuration 注解本质上还是 @Component,因此 <context:component-scan/> 或者 @ComponentScan 都能处理@Configur 阅读全文
posted @ 2019-04-24 16:01 Boblim 阅读(18487) 评论(0) 推荐(4) 编辑
摘要:这是由于换行符在不同的操作系统上定义的区别造成的。 Windows用CR LF来定义换行,Linux用LF。CR全称是Carriage Return ,或者表示为\r, 意思是回车。 LF全称是Line Feed,它才是真正意义上的换行表示符。为什么Windows添加一个CR和LF组合表示,我并不清 阅读全文
posted @ 2019-04-24 14:02 Boblim 阅读(2709) 评论(0) 推荐(0) 编辑
摘要:一、注解解释 Spring的@PostConstruct注解在方法上,表示此方法是在Spring实例化该Bean之后马上执行此方法,之后才会去实例化其他Bean,并且一个Bean中@PostConstruct注解的方法可以有多个。 二、示例代码 1. spring配置文件 2. Bean1.java 阅读全文
posted @ 2019-04-23 20:48 Boblim 阅读(42416) 评论(0) 推荐(1) 编辑
摘要:一、背景 在开发过程中,我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,很容易出错,而且浪费 阅读全文
posted @ 2019-04-22 18:59 Boblim 阅读(14910) 评论(1) 推荐(3) 编辑
摘要:说明 在明确了ES的基本概念和使用方法后,我们来学习如何使用ES的Java API. 本文假设你已经对ES的基本概念已经有了一个比较全面的认识。 客户端 你可以用Java客户端做很多事情: 执行标准的index,get,delete,update,search等操作。 在正在运行的集群上执行管理任务 阅读全文
posted @ 2019-04-22 16:20 Boblim 阅读(20722) 评论(1) 推荐(0) 编辑
摘要:一、简介 ElasticSearch和Solr都是基于Lucene的搜索引擎,不过ElasticSearch天生支持分布式,而Solr是4.0版本后的SolrCloud才是分布式版本,Solr的分布式支持需要ZooKeeper的支持。 这里有一个详细的ElasticSearch和Solr的对比:ht 阅读全文
posted @ 2019-04-22 12:50 Boblim 阅读(12372) 评论(0) 推荐(2) 编辑
摘要:由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。 这样一 阅读全文
posted @ 2019-04-17 15:20 Boblim 阅读(1597) 评论(1) 推荐(1) 编辑
摘要:给Advice传递参数 Advice除了可以接收JoinPoint(非Around Advice)或ProceedingJoinPoint(Around Advice)参数外,还可以直接接收与切入点方法执行有关的对象,比如切入点方法参数、切入点目标对象(target)、切入点代理对象(this)等。 阅读全文
posted @ 2019-04-16 11:49 Boblim 阅读(3126) 评论(0) 推荐(0) 编辑
摘要:最近由于经常在项目上线或者调试中启动服务,由于要设置环境变量这些,所以为了方便写了个启动脚本,希望能够帮助大家,也算是给自己做个小笔记: example_project_start.sh: 转载请注明出处:https://www.cnblogs.com/fnlingnzb-learner/p/107 阅读全文
posted @ 2019-04-15 22:08 Boblim 阅读(4616) 评论(0) 推荐(1) 编辑
摘要:动态数据源 在很多具体应用场景的时候,我们需要用到动态数据源的情况,比如多租户的场景,系统登录时需要根据用户信息切换到用户对应的数据库。又比如业务A要访问A数据库,业务B要访问B数据库等,都可以使用动态数据源方案进行解决。接下来,我们就来讲解如何实现动态数据源,以及在过程中剖析动态数据源背后的实现原 阅读全文
posted @ 2019-04-15 13:27 Boblim 阅读(15232) 评论(3) 推荐(2) 编辑
摘要:Spring AOP 简介 如果说 IoC 是 Spring 的核心,那么面向切面编程就是 Spring 最为重要的功能之一了,在数据库事务中切面编程被广泛使用。 AOP 即 Aspect Oriented Program 面向切面编程 首先,在面向切面编程的思想里面,把功能分为核心业务功能,和周边 阅读全文
posted @ 2019-04-12 10:54 Boblim 阅读(658) 评论(0) 推荐(0) 编辑
摘要:最近在研究Spring bean 生命周期相关知识点以及源码,所以打算写一篇 Spring bean生命周期相关的文章,但是整理过程中发现涉及的点太多而且又很复杂,很难在一篇文章中把Spring bean 的生命周期讲清楚,所以最后决定分解成几个模块来写,最后在写一篇文章把各个内容串联起来,这样可以 阅读全文
posted @ 2019-04-12 10:44 Boblim 阅读(16837) 评论(0) 推荐(2) 编辑
摘要:最近在开发一些http server类型程序,通过spring boot构建一些web程序,这些web程序之间通过http进行数据访问、共享,如下图: 假设现在client发起一次保存数据的请求到server,server可能会返回如下类似的数据: 然后client通过解析json获得status来 阅读全文
posted @ 2019-04-10 19:48 Boblim 阅读(20533) 评论(1) 推荐(1) 编辑
摘要:遭遇乱码问题的来龙去脉 这两天写了一个 Java 程序来玩,结果又遭遇了以前遇到过很多次的乱码问题,具体描述一下:在 Mac 系统里面,常用的 Java 程序启动方式有如下几种:1.通过 eclipse 执行 class 入口文件启动;2.在 Terminal 里面用 java Test.class 阅读全文
posted @ 2019-04-10 11:20 Boblim 阅读(18365) 评论(0) 推荐(0) 编辑
摘要:一.默认映射 我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。 选择一个之前实现过的Web应用为基础,启动该应用,访问一个不存在的UR 阅读全文
posted @ 2019-04-09 14:35 Boblim 阅读(1973) 评论(0) 推荐(2) 编辑
摘要:检测三种不同操作系统(GNU/Linux, Mac OS X, Windows NT)的Bash脚本。 设计: 1、使用“uname”命令获取系统信息,带上“-s”参数个打印内核名称。 2、使用“expr”和“substr”处理内核名称字符串。 3、逐个条件判断即可。 脚本: 注意: 1、在脚本的开 阅读全文
posted @ 2019-04-04 22:05 Boblim 阅读(11283) 评论(0) 推荐(0) 编辑
摘要:1.最直接简单的判断 不用那些if语句了,直接缩短代码量。 2. 变量通过" "引号引起来 如下所示:,可以得到结果为 IS NULL. 3. 直接通过变量判断 如下所示:得到的结果为: IS NULL,跟第一种方法一样的,只是代码长一点,推荐使用第一种判断方式,简单明了。 4. 使用test判断 阅读全文
posted @ 2019-04-04 22:02 Boblim 阅读(33854) 评论(0) 推荐(1) 编辑
摘要:在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的。因为他返回当前路径的"."。这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外)。 Linux下获取当前的目录,需执行以下命令: 其中, 在使用的过程中需 阅读全文
posted @ 2019-04-04 18:08 Boblim 阅读(4907) 评论(0) 推荐(0) 编辑
摘要:inux shell有交互式与非交互式两种工作模式。我们日常使用shell输入命令得到结果的方式是交互式的方式,而shell脚本使用的是非交互式方式。 shell提供了alias功能来简化我们的日常操作,使得我们可以为一个复杂的命令取一个简单的名字,从而提高我们的工作效率。在交互式模式下,shell 阅读全文
posted @ 2019-04-03 16:52 Boblim 阅读(10669) 评论(0) 推荐(2) 编辑
摘要:阅读目录 为什么要克隆? 如何实现克隆 浅克隆和深克隆 解决多层克隆问题 总结 阅读目录 为什么要克隆? 如何实现克隆 浅克隆和深克隆 解决多层克隆问题 总结 假如说你想复制一个简单变量。很简单: 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short,float, 阅读全文
posted @ 2019-04-03 16:03 Boblim 阅读(64697) 评论(3) 推荐(8) 编辑
摘要:JaCoCo介绍 一、JaCoCo简述 JaCoCo是一个开源的覆盖率工具,它针对的开发语言是java,其使用方法很灵活,可以嵌入到Ant、Maven中;可以作为Eclipse插件,可以使用其JavaAgent技术监控Java程序等等。 很多第三方的工具提供了对JaCoCo的集成,如sonar、Je 阅读全文
posted @ 2019-04-01 17:41 Boblim 阅读(60276) 评论(2) 推荐(5) 编辑
摘要:在 Java 测试中使用 Mockito 有段时日了,以前只是想当然的认为 Mock 的对象属性值和方法返回值都是依据同样的规则。基本类型是 0, 0.0, 或 false, 对象类型都是 null, Mock 对象的默认返回值也应该是一样的。直到最近有一天,有一个返回 Optional<Strin 阅读全文
posted @ 2019-04-01 11:11 Boblim 阅读(6709) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示