- 博客(78)
- 资源 (8)
- 收藏
- 关注
原创 springboot+ActiveMQ通用配置
前言ActiveMQ作为几大常用消息中间件广泛应用于应用市场,而springboot更是近几年最流行的快速开发框架,今天来看看,他们是怎么整合的。版本要求: JDK 1.8, Springboot 2.1.3前奏开发的时候,我们又多种方式来配置消息的发送端与接收端,那么,如果当一个客户端既是发送端又是接收端的时候,通过传统的配置就会发现代码重复度太高,不符合代码高复用性的开发思想,那么这...
2019-06-25 14:54:22 7870
原创 Springboot通过Jar与War的打包与部署
Springboot由于内置了tomcat容器,我们可以通过在pom文件中通过配置让其以jar的方式运行,形如:java -jar xxx.jar,我们也可以通过打war包的方式让它在你配置的tomcat容器中运行,下面来具体看看两种方式具体的打包部署方式。 打Jar包运行1 编写好启动类2 在pom的插件中指定启动类3 mavan install 打成Jar文件防止在你需要的...
2019-02-12 15:54:28 1148
原创 SpringBoot常用的两种定时任务执行方式
SpringBoot框架中常用的定时任务大致可以分为三种:第一种,使用Java Timer 这种不常用这里不做阐述;第二种,使用Spring Task;第三种,使用Quartz;笔者下面来阐述一下后两种的基本用法,不足之处欢迎留言交流。版本Spring Boot2.0及以上因为已经集成了Scheluder相关功能 Spring Task可以理解为简化版的Quartz,支持Cro...
2018-12-26 16:06:51 4344
原创 解决SpringBoot启动时日志Jar包冲突问题
基于Maven构建的项目,很多Jar包会在pom里面被依赖式的注入进来,有时如果有相同类型的JAR就会造成Jar包冲突,下面贴上我遇到的关于日志的Jar冲突的问题以及解决办法 问题 从启动日志最上面可以看到 Class path contains multiple SLF4J bindings.这么一段话,它的意思是说绑定了多个日志JAR,造成这个的原因是由于Jar包冲突...
2018-12-25 14:35:58 6303
原创 JAVA爬虫进阶之springboot+webmagic抓取顶点小说网站小说
闲来无事最近写了一个全新的爬虫框架WebMagic整合springboot的爬虫程序,不清楚WebMagic的童鞋可以先查看官网了解什么是Webmagic,顺便说说用springboot时遇到的一些坑。首先附上Webmagic官网链接 WebMagic官网,上手很简单。 先贴上springboot的pom.xml配置<project xmlns="http://maven...
2018-11-30 14:50:24 3500 3
原创 关于JAVA调用Python脚本并传递参数
JAVA 程序调用python脚本目前存在两种形式。第一种:运用JAVA本身的自带功能;第二种:使用jython Jar包的自带方法来调用python脚本调用准备:首先你要在本地或者LINUX环境安装python环境,如果是JYTHON的话需要安装JYTHON,两者二选一,python具体安装转方法详见 WINDOWS安装PYTHON,至于JYTHON安装方式:JYTHON官网下载 Dow...
2018-09-27 19:49:27 4051 2
原创 常用设计模式解析
1 策略模式:分别封装行为接口,实现算法组,超类里面放行为接口对象,在子类里具体设定行为对象。原则就是:分离变化部分,封装为借口,基于接口编程各种功能。此模式让行为算法的变化独立于算法的使用者。package com.mvs.mytest.superClasss;import com.mvs.mytest.behavior.FlyBehavior;import com.mvs.myte...
2018-09-18 11:40:37 277
原创 Elastic Search(ES)使用笔记
ElasticSearch介绍: ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。我们建立一个网站或应用程序,...
2018-06-25 16:36:19 1878
原创 Java爬虫进阶-phantomJS+selenium2抓取网站图片和小说
闲来无事,应小伙伴要求,最近写了一个专门爬取小说和美女图片的爬虫工具类,有不足之处欢迎小伙伴们指出。准备工作: 新建maven工程,导入pom依赖如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst...
2018-06-05 09:42:12 1448
原创 Spring boot + mybatis + 多数据源入门搭建 + 跨域集成以及过滤器配置的方式和过滤器加载顺序控制
Spring boot + mybatis + 多数据源入门搭建 + 跨域集成以及过滤器配置的方式和过滤器加载顺序控制由于项目需要,最近研究了一下spring boot的项目搭建,下面和大家说说项目搭建的心得体会开发环境: JDK1.8 Eclipse maven3.3.9起始工作: 新建一...
2018-05-30 14:36:08 829
原创 关于Weblogic异常:weblogic.servlet.jsp.compilationException解决方案
网上对于这个异常的说法很多,先贴上具体异常,如下:weblogic.servlet.jsp.CompilationException: Failed to compile JSP /WEB-INF/jsp/frame/perspective_content.jsp perspective_content.jsp:1:1: The validator class: "org.apache.tagl
2017-11-13 16:24:40 12692 2
原创 ActiveMQ+Spring项目实践
环境准备 项目基于JDK1.7+spring4+mybatis3+tomcat7构建的maven工程,用的是Apache-ActiveMQ-5.11.1的版本。第一步:ActiveMQ安装与配置 首先你的去ActiveMQ官网去下载你要用的MQ版本根据不同的系统安装,我用的是windows 64版,直接下载ZIP解压,然后到bin目录下64文件夹运行bat文件即可启动,如果和自己的监听端口冲突可
2017-10-10 11:12:32 3683
原创 基于Netty-Socket-io的无直接调用式的数据传输
实时消息的推送,PC端的推送技术可以使用socket建立一个长连接来实现。传统的web服务都是客户端发出请求,服务端给出响应。但是现在直观的要求是允许特定时间内在没有客户端发起请求的情况下服务端主动推送消息到客户端。有哪些可以实现web消息推送的技术:①不断地轮询(俗称“拉”,polling)是获取实时消息的一个手段:Ajax 隔一段时间(通常使用 JavaScript 的 setTimeout 函
2017-09-29 11:02:11 1833
原创 关于Redis服务外网访问不到的问题
在服务器配置了redis服务,想在本地访问测试连接,然而一直报这个错误Fatal error: Uncaught exception ‘RedisException’ with message ‘Redis server went away’ in xxxx错误的原因很简单,就是没有连接上redis服务,由于redis采用的安全策略,默认会只准许本地访问。需要通过简单配置,完成允许外网访问。修改r
2017-08-08 14:40:47 7190
原创 关于web项目log日志指定输出文件位置配置
首先我们定义一个可以在运行时动态的找出项目的路径WebAppRootKey,这么做的原因是为了在后面配置log4j输出文件路径的时候能随心配置。<context-param> <param-name>webAppRootKey</param-name> <param-value>amt.root</param-value></context-param>然后要定
2017-08-07 15:34:09 17727 6
转载 web项目Log4j日志输出路径配置问题
问题描述:一个web项目想在一个tomcat下运行多个实例(通过修改war包名称的实现),然后每个实例都将日志输出到tomcat的logs目录下实例名命名的文件夹下进行区分查看每个实例日志,要求通过尽可能少的改动配置文件,最好修改实例名后可以不修改log4j的配置文件。 实现分析:一般实现上面需求,需要在修改完war包名称之外要再做下面配置: 1、修改每个实例名下web.xml中参数webApp
2017-08-04 14:50:31 3216
原创 Maven Web项目解决跨域问题
跨域问题目前笔者所用到的方案大致有三种:jsonp,SpringMVC 4以上注解方式和cros三方过滤器。JsonpJSONP(JSON with Padding)是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。Jsonp原理: 首先在客户端注册一个callback,
2017-08-04 14:11:17 4368 4
原创 Weblogic部署maven web项目
由于工作所需,工作的服务器由原来的tomcat,jetty换成了weblogic,这玩意和tomcat,jetty还是有很大的不同的,这里不做多说,这里说明下具体如何部署,以及部署中遇到的问题是如何解决的。申明,从weblogic 10.3.4开始支持maven deploy部署部署流程第一种:最快最暴力直接把maven工程打成war包然后解压出来将解压后的文件目录直接放入到weblogic的启动目
2017-08-04 10:26:00 6195
原创 Spring整合Quartz实现定时任务的时间更新,暂停和启用(不需要重启项目并且配置多数据源)
这是一套独立的定时系统,暂时不涉及与外界三方系统的交互,如有需求可自己根据场景来修改。配置项目基于spring4+mybatis3+quartz2.2.1来构建的,pom文件如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc
2017-07-28 16:52:53 2650
原创 关于SQLServer建表过程中所报的类似"xx 附近有语法错误"
经排查,此错误多半是由于用到了数据库的关键字造成的,一旦遇到这种错误优先检查一下所有字段看是否有数据库关键字,如果有加一个前缀或者后缀即可
2017-07-26 11:18:47 8482
原创 SpringMVC项目中偶尔用到servlet,如何在servlet中注入service笔记
仅此做个笔记,防止注入时而成功时而失败的问题。package com.zhy.spdb.sso;import java.io.IOException;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax
2017-07-04 16:19:45 2011
原创 关于Spring项目配置多个数据源的实例演示
一、多数据源动态切换原理项目中我们经常会遇到多数据源的问题,尤其是数据同步或定时任务等项目更是如此;又例如:读写分离数据库配置的系统。1、多数据源设置: 1)静态数据源切换:一般情况下,我们可以配置多个数据源,然后为每个数据源写一套对应的sessionFactory和dao层代码(以hibernate为例,mybatis同理),——我们称之为 静态数据源配置 。2)动态数据源切换:可看出在Dao层
2017-06-27 14:34:32 4989 1
原创 MyEclipse 2017 ci6 安装反编译插件(本人自己摸索的方法,亲测可行)
第一步:关闭ME,去一下地址下载jad的反编译jar包和.exe文件,并解压,将Jad.exe文件放到一个文件夹下 JAD下载第二步:在你自己的MyEclipse2017安装路径下找到dropins文件夹,并在此文件夹下建立Jad插件目录,myeclipse的插件目录一般包含两个二级目录features和plugins,我们要做的就是把ZIP文件解压后的net.sf.jadclipse_3.3.0
2017-06-21 12:19:05 3142 2
原创 关于JAVA回调函数的使用
回调函数顾名思义,就是你调用我的方法的时候我也在掉你的方法,它一般满足一下几个条件:①有一个CallBack接口,里面有被回调的方法package spdb.demo.callBack;/** * @Title: CallBack.java * @Package spdb.demo.callBack * @Description: 这是一个回调接口 * @author John Ha
2017-06-12 16:45:36 639 1
原创 ROW_NUMBER() OVER函数的基本用法
基本语法用法一:ROW_NUMBER() OVER (ORDER BY xlh DESC) 先把xlh 列降序,再为降序以后的没条xlh 记录返回一个序号。 用法二:ROW_NUMBER() OVER(PARTITION BY COLUMN1 ORDER BY COLUMN2)表示根据COLUMN1 分组,在分组内部根据 COLUMN2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连
2017-05-31 14:48:31 5418
原创 关于Access restriction: The type basic is not accessible due to restriction on required library异常
先贴上具体异常:Access restriction: The type basic is not accessible due to restriction on required library E:\Myeclipse \binary\com.sun.java.jdk7.win32.x86_64_1.7.0.u45\jre\lib\rt.jar - The import su
2017-05-31 10:10:41 872
原创 浅谈对ActiveMQ的理解
现如今项目开发过程中由于功能多,流程长,机制繁多且复杂,让一个线程去跑完一个业务的整个流程的话会显得非常繁琐且耦合性太强,代码量很大,这个时候我们就可以用到一款技术叫做消息队列,我们可以通过定义好发送消息的模式以及一些其他数据,就可以在一个业务有很多流程的时候通过发送消息的形式让队列通知消息消费者去完成一些操作,比如说数据的存储与修改等,这样无形之中就把一个大业务拆分成了很多小的业务的组合体,实现了
2017-05-19 14:57:09 4187 1
转载 线程中的乐观与悲观锁的区别
线程中的锁可以分为乐观锁和悲观锁,这两个都是实现锁机制的两种办法。 悲观锁:根据字面意思,悲观,就是不是太好的。当一个线程访问这个数据的时候,悲观锁会把这个数据给锁住,不被其他线程所访问,直到这个线程完成了对数据的提交后,其他线程才能够访问或者操作。这样就带来了不便,比如,我们在进行网上订票的时候,一个用户访问了这个系统,访问了这个系统中数据库的数据,就把这个数据给锁住了,这样其他用户根本就看不到
2017-05-17 11:20:33 950
原创 关于mysql中对数据先统计再排序的操作
先上两张表:第一张:一个包含商品的指南里面放了一些商品第二张:用户喜欢的商品要求:搜索指定指南下的商品限定不超过7个并且这里面的商品还得按照用户喜欢的数量来进行倒序排序。结果如下:SELECT gs.sku_id FROM guide_sku gs LEFT JOIN follow_sku fs on gs.sku_id = fs.sku_id wher
2017-05-12 13:19:11 8808
转载 Java自定义注解解析
什么是注解Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。 Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时
2017-05-11 17:54:08 1132
原创 Java多线程wait,notify以及同步锁的运用实例
一个开多线程打印10次ABC的小Demo,如何保证线程执行的有序性,以下面这个Demo来做说明:package com.lyt.usermanage.test;public class MyThreadTest5 implements Runnable { private String name; private Object lastThread; private Objec
2017-05-11 13:35:59 983
原创 Java中如何优雅正确的终止线程
Java中终止线程的方式主要有三种:1、使用stop()方法,已被弃用。原因是:stop()是立即终止,会导致一些数据被到处理一部分就会被终止,而用户并不知道哪些数据被处理,哪些没有被处理,产生了不完整的“残疾”数据,不符合完整性,所以被废弃。So, forget it!2、使用volatile标志位看一个简单的例子:首先,实现一个Runnable接口,在其中定义volatile标志位,在run()
2017-05-10 16:53:38 13065 9
转载 Java多线程Thread类和Runable接口的区别以及线程类详解
在Java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限, 下面看例子: package org.thread.demo; class MyThread extends Th
2017-05-10 11:52:29 1502
原创 Redis整合Spring实现缓存调度
Redis redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种
2017-05-05 17:00:28 1374
原创 Java爬虫进阶-Selenium+PhantomJs的运用
selenium Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制动作
2017-04-26 18:17:16 27810 17
转载 Java爬虫进阶-HtmlUnit使用解析
大家在做爬虫、网页采集、通过网页自动写入数据时基本上都接触过这两个组件(权且称之为组件吧),网上入门资料已经很多了,我想从实际的应用角度谈谈我对于这两个组件的看法,并记录在博客中,以便日后翻阅,欢迎大家批评指正。 本文主要比较两者的优劣性以及介绍应用中的使用技巧,推荐一些入门资料以及非常实用的辅助工具,希望能对大家有所帮助。 大家有任何疑问或者建议希望留言给我,一起交流学习。下面我们首
2017-04-25 17:38:19 10304 1
原创 Java爬虫进阶-Jsoup+httpclient获取动态生成的数据
前面我们详细讲了一下Jsoup发现这玩意其实也就那样,只要是可以访问到的静态资源页面都可以直接用他来获取你所需要的数据,详情情跳转-Jsoup爬虫详解,但是很多时候网站为了防止数据被恶意爬取做了很多遮掩,比如说加密啊动态加载啊,这无形中给我们写的爬虫程序造成了很大的困扰,那么我们如何来突破这个梗获取我们急需的数据呢,下面我们来详细讲解一下如何获取String startPage="https://i
2017-04-25 16:16:44 11241
转载 Spring+Shiro权限整合
什么是权限呢?举个简单的例子:我有一个论坛,注册的用户分为normal用户,manager用户。对论坛的帖子的操作有这些:添加,删除,更新,查看,回复我们规定:normal用户只能:添加,查看,回复manager用户可以:删除,更新normal,manager对应的是角色(role)添加,删除,更新等对应的是权限(permission)我们采用下面的逻辑创建权限表结构(不是绝对的,根据
2017-04-25 11:08:53 684
原创 Java 爬虫工具Jsoup解析
Jsoup是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。 jsoup 的主要功能如下: 1. 从一个 URL,文件或字符串中解析 HTML; 2. 使用 DOM 或 CSS 选择器来查找、取出数据; 3. 可操作 HTML 元素、属性、文本
2017-04-25 10:46:49 12603 4
原创 Spirng整合Quartz构建MAVEN工程
定时任务在许多项目中是要实时用到的一种技术,比较简单的定时任务我们可以运用Apache自带的Timer定时工具类来完成,但是相对于项目具体的定时而言这个工具类就有点力不从心,这里不做多演示。这里我们说一下Spring整合Quartz构建Maven工程放入LINUX系统直接执行的方式,框架选型用的是SSM(Spring 4, Mybatis 3,Quartz 2.2)第一步:POM文件基于本人已经搭好
2017-04-24 14:16:08 1590
爬虫基于Springboot+WebMagic+Mybatis+多数据源
2018-11-30
WSDL解析插件Axis2依赖的jar包
2017-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人