- 博客(134)
- 资源 (26)
- 收藏
- 关注
原创 spring-boot+mybatis多数据源最简解决方案
说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务。我们项目是后者的模式,网上找了很多,大都是根据jpa来做多数据源解决方案,要不就是老的spring多数据源解决方案,还有的是利用aop动态切换,感觉有点小复杂,其实我只是想找一个简单的多数据支持而已,折腾了两个小时整理出来,供大家参考。废话不多说直接上代码吧配置文件pom包就
2017-02-23 18:23:27
889
原创 spring-boot-mybatis
这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,看的人心累,结合了mybatis的官方demo和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。orm框架的本质是简化编程中操作数
2017-02-23 18:18:58
611
原创 spring data jpa的使用
spring data jpa介绍首先了解JPA是什么?JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是
2017-02-23 18:06:05
5939
原创 thymeleaf简单使用
thymeleaf介绍简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点:1.Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然
2017-02-23 12:06:40
2357
原创 spring boot 对nosql的支持
spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化。redis介绍Redis是目前业界使用最广泛的内存数据存储。相比memcached,Redis支持更丰富的数据结构,例如hashes, lists, sets等,同时支持数据持久化。除此之外,Redis还提供一些类数据库的特性,比如事务,HA,主从库。可以说Redis兼具了缓存系统和数据库的一些特性
2017-02-23 11:40:44
1725
原创 web开发
上篇文章介绍了Spring boot初级教程:spring boot(一):入门篇,方便大家快速入门、了解实践Spring boot特性;本篇文章接着上篇内容继续为大家介绍spring boot的其它特性(有些未必是spring boot体系桟的功能,但是是spring特别推荐的一些开源技术本文也会介绍),对了这里只是一个大概的介绍,特别详细的使用我们会在其它的文章中来展开说明。web
2017-02-23 10:49:48
391
原创 Spring boot 入门篇
什么是spring bootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(
2017-02-23 10:38:00
1154
原创 idea代码调试debug
记录点点滴滴,断点的设定和eclipse一样,只要点一下就可以,F9 resume programe 恢复程序Alt+F10 show execution point 显示执行断点F8 Step Over 相当于eclipse的f6 跳到下一步F7 Step Into 相当于ec
2016-05-31 20:55:45
7500
原创 idea配置tomcat
网上找到,我没有做成功,记录一下吧(8) 回到Server 选项卡,在On frame deactivation 下拉框,选择
2016-05-31 20:44:58
528
原创 jsp页面 utf-8 向后台传值乱码(spring)
今天在搭建开发框架时,遇到一个小插曲,记录一下吧!情况描述:jsp页面编码,数据库编码都是utf-8这是没问题的,但是页面向Controller传值时乱码解决方案: encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding
2016-05-22 14:20:53
2991
原创 JAVA的daemon Thread
Java语言自己可以创建两种进程“用户线程”和“守护线程”用户线程:就是我们平时创建的普通线程.守护线程:主要是用来服务用户线程.那么如何来区分这两种线程呢?其实在JDK的文档中已经说明的很清楚了:* The Java Virtual Machine exits when the only threads running are all * daemon threads.
2016-05-20 23:00:34
1388
原创 Callable接口实现多线程
Runnable是执行工作的独立任务,但是它不返回任何值。在Java SE5中引入的Callable是一种具有类型参数的泛型,它的类型参数表的是从方法call()中返回的值,并且必须使用ExecutorServices.submit()方法调用它,下面是一个简单示例。package com.ftx.test;import java.util.ArrayList;import java
2016-05-20 22:09:57
1662
原创 Java线程学习笔记(一)
入门,定义一个做倒计时的类,Counter,该类实现了Runnable接口package com.ftx.test;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class Thread_1 { public static void main(S
2016-05-20 21:31:17
297
原创 构造函数有没有返回值?
昨天面试,他问我:构造函数有没有返回值?我告诉他说:构造函数没有返回值。 他举了个反例: String str = new String("content"); new 的时候调用构造函数,返回给str; 再问:有没有方法确定知道构造函数有没有返回?? 这是 上的说法: For purposes other than simple initializ
2016-05-17 09:11:51
44520
11
翻译 script 写在body和head中的区别
在HTML body部分中的JavaScripts会在页面加载的时候被执行。在HTML head部分中的JavaScripts会在被调用的时候才执行。
2016-05-13 11:20:12
1406
原创 Lock与synchronized 的区别
1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断 如果 使用ReentrantLock,如果A不释放,可以使B在等待了足够长
2016-05-12 15:07:50
327
原创 项目中的日志配置执行你懂吗?
java日志,需要知道的几件事如果对于commons-loging、log4j、slf4j、LogBack等都已经非常清楚了,可以忽略本文。几次解决日志冲突问题时对这几个概念的简单总结,希望对这块基础没有理解透的同学能有所帮助,当然如果对这块有更深刻理解的同学,也贡献出自己的知识和见解。一、 概念Commons-logging:apache最早提供的日志的门面接口。避免和具体的日
2016-04-26 11:53:33
1127
原创 昨天面试面到equals()和hashCode()关系了
equals()和hashCode()方法是用来在同一类中做比较用的,尤其是在容器里如set存放同一类对象时用来判断放入的对象是否重复。先说重点:针对笔试 equals()相等的两个对象,hashcode()一定相等,equals()不相等的两个对象,却并不能证明他们的hashcode()不相等。换句话说,equals()方法不相等的两个对象,hashCode()有可能相等。(我的理解是
2016-04-21 11:01:07
2021
原创 java中volatile关键字的含义
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized
2016-04-20 23:34:14
496
1
原创 Choose unique values for the 'webAppRootKey' context-param in your web.xml files!
定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里。然后log4j的配置文件里就可以用${webName.root }来表示Web目录的绝对路径,把log文件存放于webapp中。此参数用于后面的“Log4jConfigListener”-->log4jConfigLocation/WEB-INF/log4j.propertie
2016-04-18 15:30:19
1989
原创 Forward和Redirect的区别
用户向服务器发送了一次HTTP请求,该请求肯能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的。根据转发方式的不同,可以区分为直接请求转发(Forward)和间接请求转发(Redirect)两种有何区别呢?1.从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把
2016-04-17 10:19:58
2371
原创 org.springframework.beans.factory.BeanCreationException
Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/resource/applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.Annota
2016-04-16 19:55:19
692
转载 JSP取得绝对路径
在JavaWeb开发中,常使用绝对路径的方式来引入JavaScript和CSS文件,这样可以避免因为目录变动导致引入文件找不到的情况,常用的做法如下:一、使用${pageContext.request.contextPath} 代码” ${pageContext.request.contextPath}”的作用是取出部署的应用程序名,这样不管如何部署,所用路径都是正确的。例如:
2016-04-15 23:15:36
369
原创 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'baseDAOFacto
Error creating bean with name 'baseDAOFactory': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'b
2016-04-15 17:31:56
2376
原创 tomcat中catalina是什么
catalina 就是Tomcat服务器使用的 Apache实现的servlet容器的 名字。Tomcat的核心分为3个部分:(1)Web容器---处理静态页面;(2)catalina --- 一个servlet容器-----处理servlet;(3)还有就是JSP容器,它就是把jsp页面翻译成一般的servlet。
2016-04-14 11:18:38
21938
1
原创 StringUtils中 isNotEmpty 和isNotBlank的区别
isNotEmpty将空格也作为参数,isNotBlank则排除空格参数参考 Quote StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是
2016-04-11 16:05:51
362
原创 jquery中常用的SET和GET$(”#msg”).html循环介绍
$(”#msg”).html(); //返回id为msg的元素节点的html内容。$(”#msg”).html(”new content“);//将“new content” 作为html串写入id为msg的元素节点内容中,页面显示粗体的new content$(”#msg”).text(); //返回id为msg的元素节点的文本内容。$(”#msg”).text(”new conten
2016-04-11 14:55:10
2307
转载 JavaWeb学习总结(三)——Tomcat服务器学习和使用(二)
一、打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下: 范例:将JavaWebDemoProject这个JavaWeb应用打包成war包 执行完之后,就可以得到一个文件,平时开发完JavaWeb应用后,一般都会将JavaWeb应用打包成一个war包,然后将这个war包放到Tomcat服务器的web
2016-04-11 08:56:45
398
转载 JavaWeb学习总结(二)——Tomcat服务器学习和使用(一)
一、Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件。 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改例如:将Tomcat服务器的启动端口由默认的8080改成8081端口Tomcat服务器启动端口默认配置1 Connector
2016-04-11 08:51:20
319
转载 JavaWeb学习总结(一)——JavaWeb开发入门
一、基本概念1.1、WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。 Internet上供外界访问的Web资源分为:静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。 静态
2016-04-11 08:48:08
406
原创 successView isn't set
是不是很头疼????问题一: javax.servlet.ServletException: successView isn't set ======================================================== 首先,确定你的set方法是否正确。 其次,确定你是否正确的override了OnSubmit。 最后,确定是否导入了
2016-04-10 20:30:35
739
原创 java函数加载顺序
子类A继承父类B A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数class SuperClass{private static Stri
2016-04-10 09:08:20
409
原创 java RMI 分布式简单应用
PersonService.javaimport java.rmi.*;import java.util.*; public interface PersonService extends Remote{ public List GetList() throws RemoteException;}PersonServiceImpl.javaimport java.r
2016-04-06 22:41:36
485
原创 网页宽度自动适应手机屏幕宽度的方法
方法一:meta name="viewport"content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes"/>在网页的中添加以上这句话,可以让网页的宽度自动适应手机屏幕的宽度。其中:width=device-width :表示宽度是设
2016-04-05 18:02:41
467
转载 配置Log4j
Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger = [ level ] , appenderN
2016-03-28 10:25:39
379
原创 Mybatis第六弹
1 与spring整合实现mybatis与spring进行整合,通过spring管理SqlSessionFactory、mapper接口。 1.1 mybatis与spring整合jar mybatis官方提供与mybatis与spring整合jar包: 还包括其它jar:spring3.2.0mybatis3.2.7dbcp连接池数
2016-03-26 17:49:11
437
原创 Mybatis第六弹
1 查询缓存1.1 mybatis缓存介绍如下图,是mybatis一级缓存和二级缓存的区别图解: Mybatis一级缓存的作用域是同一个SqlSession,在同一个sqlSession中两次执行相同的sql语句,第一次执行完毕会将数据库中查询的数据写到缓存(内存),第二次会从缓存中获取数据将不再从数据库查询,从而提高查询效率。当一个sqlSession结束后该
2016-03-26 17:47:38
319
原创 Mybatis第五弹
1 关联查询 1.1 商品订单数据模型 1.2 一对一查询案例:查询所有订单信息,关联查询下单用户信息。 注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询。如果从用户信息出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单。 1.2.1 方法一:使用resultType,
2016-03-26 17:45:49
472
原创 Mybatis第四弹
1 Mapper.xml映射文件Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心。 1.1 parameterType(输入类型)1.1.1 #{}与${}#{}实现的是向prepareStatement中的预处理语句中设置参数值,sql语句中#{}表示一个占位符即?。 根据
2016-03-26 17:42:21
487
node.js静态网页聊天系统
2016-03-02
Lessons_learned_doucment
2015-11-28
Documentation_plan
2015-11-28
acceptance_worksheet
2015-11-28
contractor_closeout_checklist
2015-11-28
Change_request
2015-11-28
project_outline
2015-11-28
Communication_plan
2015-11-28
WBS_DICTIONARY
2015-11-28
projetc_req
2015-11-28
projetc_charter
2015-11-28
struct2 登录验证
2015-10-21
Linux手机模拟缴费系统(完整版)
2014-06-24
栈队列答案
2012-10-30
循环赛问题c语言代码
2012-10-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人