- 博客(21)
- 资源 (23)
- 问答 (7)
- 收藏
- 关注
转载 分布式锁 Java常用技术方案
前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题。所以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结。希望这篇文章可以方便自己以后查阅,同时要是能帮助到他人那也是很好的。 ===========================================
2017-06-30 16:31:02 944
原创 4 手写实现SpringMVC,第四节:匹配用户请求、执行映射方法
在上一篇我们已经完成了配置的url到方法的映射,并且完成了method的各参数的注解、参数名、类型等的映射配置。这一篇就很简单了,就是通过获取request的请求地址和参数,和已经加载好的映射进行比对,如果匹配上了就执行对应的方法。直接上代码:@Override protected void doPost(HttpServletRequest req, HttpServletR
2017-06-30 16:19:19 2114 11
原创 3 手写实现SpringMVC,第三节:通过反射给属性和参数注入值
在上一篇已经完成了读取beanName->Object映射关系的功能,这一篇就是把读取到的映射注入到属性中。在WebController里定义了需要被Autowired的两个Service,myQueryService和modifyService,下面来给他们赋值。通过反射给属性赋值
2017-06-30 12:11:18 4861 3
原创 2 手写实现SpringMVC,第二节:自定义注解及反射赋值
还是回到最终要实现的效果。可以发现,这里面使用了大量的自定义注解,并且还有autuwire的属性也需要被赋值(Spring的IOC功能)。先来创建自定义注解注意,根据不同的注解使用的范围来定义@Target,譬如Controller,Service能注解到类,RequestMapping能注解到类和方法,AutoWired只能注解到属性。Autowired/**
2017-06-28 17:11:41 6417
原创 1 手写实现SpringMVC,第一节:项目基本结构
SpringMVC是当今最流行的web框架之一,下面就以如何手工实现一个类似SpringMVC的框架,来看一下SpringMVC是如何工作的。最终目标是达到如下类似于SpringMVC的项目呈现@Controller@RequestMapping("/web")public class MyAction { @Autowired QueryService querySe
2017-06-28 14:42:03 6634
转载 Springboot使用定时任务,Spring Schedule
定时任务的实现方式有多种,例如JDK自带的Timer+TimerTask方式,spring 3.0以后的调度任务(Scheduled Task),Quartz等。Timer+TimerTask是最基本的解决方案,但是比较远古了,这里不再讨论。Spring自带的Scheduled Task是一个轻量级的定时任务调度器,支持固定时间(支持cron表达式)和固定时间间隔调度任务,支持线程池管
2017-06-23 14:53:41 6162 2
原创 SpringBoot中MongoDB注解概念及使用
spring-data-mongodb主要有以下注解@Id主键,不可重复,自带索引,可以在定义的列名上标注,需要自己生成并维护不重复的约束。如果自己不设置@Id主键,mongo会自动生成一个唯一主键,并且插入时效率远高于自己设置主键。原因可参考上一篇mongo和mysql的性能对比。 在实际业务中不建议自己设置主键,应交给mongo自己生成,自己可以设置一个业务id,如int型字段,用自己设置的业
2017-06-21 15:03:20 49258 11
转载 MongoDB与MySQL的插入、查询性能测试
转载自:http://blog.csdn.net/clh604/article/details/196088691.1 MongoDB的简单介绍在当今的数据库市场上,MySQL无疑是占有一席之地的。作为一个开源的关系型数据库,mysql被大量应用在各大网站后台中,承担着信息存储的重要作用。2009年,甲骨文公司(Oracle)收购Sun公司,MySQL成为oracle旗下
2017-06-20 17:43:40 10252
原创 SpringBoot中logback日志保存到mongoDB
前面提到过logback输出日志的多种方式,这一篇看一下自定义Appender,将logback输出的日志保存到mongo中。自定义Appender非常简单,继承一下AppenderBase类即可。可以看到有个AppenderBase,有个UnsynchronizedAppenderBase,还有个AsyncAppenderBase继承了UnsynchronizedAppender
2017-06-16 15:47:47 8922 15
转载 Logback各Appender详解及配置
转载自:http://blog.csdn.net/doraemon_wu/article/details/51972261Logback将执行日志事件输出的组件称为Appender,实现的Appender必须继承 ch.qos.logback.core.Appender 接口接口如下:package ch.qos.logback.core;import ch
2017-06-16 12:07:43 49597 2
原创 springboot中使用logback
Springboot默认集成的就是logback,logback相对来说是优秀于log4j的,log4j2也是参考了logback的设计。本篇就是来看看如何使用logback。新建一个Springboot项目,勾选web就OK了,项目会自动集成logback。控制台日志写一个controller测试一下:import org.slf4j.Logger;import org.slf
2017-06-16 12:03:39 23775 1
原创 SpringBoot中Mongo查询条件是集合中的字段的处理
MongoRepositoryMongoRepository和普通的Repository一样,继承PagingAndSortingRepository,支持分页和普通的CRUD。之前已经提过Jpa的一些基本操作,下面讲几个 稍微特殊点的。List<Person> findByAddressZipCode(ZipCode zipCode);List<Person> findByEmailAddres
2017-06-15 13:24:21 11356
原创 SpringBoot事务管理:声明式事务和编程式事务。将Service层的事务执行结果传递出去
在SpringBoot中使用事务很简单,这一篇不是为了讲事务,主要是讲一下一个工具类,将需要加入事务的Service层代码作为参数传递出去并返回事务的执行结果(成功和回滚)。声明式事务在SpringBoot中声明式事务最常见,就是把需要事务的方法用@Transactional标注一下就行了,这个一般用在Service层。标注后该方法就具备了事务的能力,出错了会自动回滚。在大部分场景下,
2017-06-12 16:50:45 26608 6
原创 Springboot中对jpa动态查询条件的封装
jpa对于固定参数的条件查询比较简单,可以在Repository中直接用参数名来查询。但是对于不固定的参数查询就比较麻烦了,官方提供的是继承JpaSpecificationExecutor,然后自己拼接Specification。这一篇主要是对Specification进行封装,让写法更友好. 代码参考:http://lee1177.iteye.com/blog/1994295。感觉还不够完整,回
2017-06-06 11:51:55 21785 12
原创 6 ElasticsearchTemplate和JPA中ElasticsearchRepository的选择
通过前面的文章可以知道,JPA中有个ElasticsearchRepository可以做Elasticsearch的相关增删改查,用法和普通的CRUDRepository是一样的,这样就能统一ElasticSearch和普通的JPA操作,获得和操作mysql一样的代码体验。但是同时可以看到ElasticsearchRepository的功能是比较少的,简单查询够用,但复杂查询就不够了。而Ela
2017-06-05 11:21:10 10120
原创 5 在springboot中使用ElasticsearchTemplate 操作ElasticSearch(本机和远程服务器)
第三篇和第四篇分别介绍了ElasticSearch的http请求命令和对java api的封装。像封装好的ES java api可以使用于普通的java项目里,来简化一些原生的命令。 springboot作为一个集成了N多功能的框架,自然不需要我们自己来封装工具类,它直接提供了ElasticsearchTemplate,和RedisTemplate一样是一个封装好的模板,当然你觉得Elastics
2017-06-03 12:55:29 30685 2
转载 4 ElasticSearch java api封装工具类
上一篇讲了通过http请求对ElasticSearch的增删改查操作,java也提供了相应的api来完成这些操作,这一篇是根据java的api封装的工具类。地址为:http://blog.csdn.net/lc375660910/article/details/62038286这是针对ES查询的一套封装。 因为时间有限仅仅能够支持一些简单查询,但能满足大部分开发需求。同时也
2017-06-02 15:18:35 10055 8
转载 3 ElasticSearch 索引查询使用指南
转账自http://blog.csdn.net/pilihaotian/article/details/52452014一 查询集群健康我们通常用用_cat API检测集群是否健康。 确保9200端口号可用: curl ‘localhost:9200/_cat/health?v’ 绿色表示一切正常, 黄色表示所有的数据可用但是部分副本还没有分配,红色表示部分数据因为某些原因不可用. 二
2017-06-02 15:10:12 4249
原创 2 Elasticsearch全文检索和匹配查询
官网的翻译可参考:http://blog.csdn.net/dm_vincent/article/details/41693125 Elasticsearch主要功能就是完成模糊检索、字符串匹配,所以使用起来非常方便。而且它有一套自己的匹配规则,来决定把哪项搜索结果展示在前面。全文检索测试还接着上一篇的demo,在Controller的add方法加条数据@RequestMapping("/add"
2017-06-02 12:20:26 9400 1
原创 1 springboot整合elasticsearch入门例子
记录一下最入门的例子。一:安装elasticsearch。在mac上很简单,brew install elasticsearch。安装完成后启动,brew services start ElasticSearch就可以了。然后访问http://localhost:9200/,出现一个json串的界面就OK了。9200是http的端口,9300是给java用户的端口。 如果是linux,看看这篇ht
2017-06-01 18:12:01 53067 30
java反编译工具jad
2012-11-10
音乐播放器java制作
2012-11-07
ElasticSearch怎么做查询某个字段大于某个值的查询
2017-09-20
问一个使用hibernate对表排序的问题
2016-10-25
javaweb大神请进,如何在struts的一个action里处理多个数据操作逻辑
2016-07-15
求一个富文本编辑器,生成的网页能在手机上适配。不需要在电脑上适配
2016-06-08
服务器上tomcat需要更新程序时,大家是怎么办的,直接关闭tomcat重启吗?
2016-04-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人