- 博客(193)
- 资源 (4)
- 收藏
- 关注
转载 Ehcache 整合Spring 使用页面、对象缓存
Ehcache 在很多项目中都出现过,用法也比较简单。一般的加些配置就可以了,而且Ehcache可以对页面、对象、数据进行缓存,同时支持集群/分布式缓存。如果整 合Spring、Hibernate也非常的简单,Spring对Ehcache的支持也非常好。EHCache支持内存和磁盘的缓存,支持LRU、 LFU和FIFO多种淘汰算法,支持分布式的Cache,可以作为Hibernate的缓存插件。同时
2016-07-23 13:21:33 357
转载 谈谈Memcached与Redis
1. Memcached简介Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器。其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数 据全部丢失。Memcached使用C语言开发,在大多数像Linux、BSD和Solaris等POSIX系统上,只要安装了l
2016-07-23 13:20:07 621
转载 Redis介绍以及安装(Linux与windows)
1、liunux系统 redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcached类似,但很大程度补偿了memcached的 不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add /remove及取交集并集和差集及更丰富的操作。在此基础上,redi
2016-07-23 13:19:19 1306
转载 servlet过滤器、监听器、struts2拦截器的区别
1.过滤器Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、Response)统一设置编码,简化操作;同时还可进行逻辑判断,如用户是否已经登陆、有没有权限访问该
2016-07-23 13:18:02 491
转载 spring中lazy-init详解
ApplicationContext实现的默认行为就是在启动时将所有singleton bean提前进行实例化(也就是依赖注入)。提前实例化意味着作为初始化过程的一部分,ApplicationContext实例会创建并配置所有的singleton bean。通常情况下这是件好事,因为这样在配置中的任何错误就会即刻被发现(否则的话可能要花几个小时甚至几天)。 该bean默认的设置为:
2016-07-23 13:16:29 823
转载 spring bean id和bean name的区别
今天在分析问题时发现一个大家平时都不太注意的spring 配置问题,发出来分享下: 首先澄清一个概念: 同名bean:多个bean 有相同的 name 或者 id,称之为同名bean 的id 和 name的区别 id和name都是spring 容器中中bean 的唯一标识符。 id: 一个bean的唯一标识 , 命名格式必须符合XML ID属性的命名规范
2016-07-23 13:15:03 2970 1
转载 <context:component-scan>使用说明
在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类注册为bean注意:如果配置了那么标签就可以不用再xml中配置了,因为前者包含了后者。另外还提供了两个子标签1. 2. 在说明这两个子标签前,
2016-07-23 13:14:34 521
转载 @Autowired与@Resource的区别
1、@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。 2、@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必须要求依赖对象必须存在,如果要允许null 值,可以设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qua
2016-07-22 15:44:48 344
转载 脱离 Spring 实现复杂嵌套事务,之一(必要的概念)
事务传播行为种类Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播:表1事务传播行为类型事务传播行为类型说明PROPAGATION_REQUIRED如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。
2016-07-22 15:43:09 2684
转载 spring InitializingBean接口
最近工作需要得到sping中的每个事物需要执行的sql,称机会简单研究了一下spring的事务,项目中管理事务比较简单,用TransactionTemplate,就直接以TransactionTemplate为入口开始学习。TransactionTemplate的源码如下:public class TransactionTemplate extends DefaultTransacti
2016-07-22 15:42:02 519
转载 BeanNameAware接口和BeanFactoryAware接口
迄今为止,所接触到的Bean都是“无知觉”的,就像黑客帝国中机械工厂里面“养殖”的人类,他们虽然能完成一定的功能,但是根本不知道自己在工厂(BeanFactory)中的代号(id),或者自己是在哪个工厂(BeanFactory的引用)中沉睡。所以,本节的目的就是要创造出一个尼奥一样的Bean,让他知道自己在工厂中的id和自己原来躺在哪个工厂中。这里,称之为,Bean对Spring有知觉。但是有
2016-07-22 15:41:22 365
转载 Spring利用JDBCTemplate实现批量插入和返回id
1、先介绍一下java.sql.Connection接口提供的三个在执行插入语句后可取的自动生成的主键的方法://第一个是 PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException; 其中autoGenerateKeys 有两个可选值:Statement.R
2016-07-22 15:40:39 31238 1
转载 “Transaction rolled back because it has been marked as rollback-only”
spring的声明事务提供了强大功能,让我们把业务关注和非业务关注的东西又分离开了。好东西的使用,总是需要有代价的。使用声明事务的时候,一 个不小心经常会碰到“Transaction rolled back because it has been marked as rollback-only”这个异常。有时候又常常会纳闷,"我已经try-catch了,为什么还这样呢?"
2016-07-22 15:40:07 547
转载 Spring 事务传递教程_有实例
通过这篇文章,你将学习到Spring框架中中事务的传递简介在处理Spring管理的事务时,开发人员可以以传播的方式定义事务的行为。换句话说,开发人员能够决定业务方法如何被封装在逻辑和物理事务中。来自不同Spring bean的不同方法可以在相同的事务范围或分割为多个嵌套的事务中执行。这可能导致像内部事务产生的结果如何影响外部事务的细节。我们将在下一节中看到Spring中不同的传播机
2016-07-22 15:39:19 1168 1
转载 Spring之FactoryBean
首先要分辨BeanFactory 与 FactoryBean的区别, 两个名字很像,所以容易搞混BeanFactory: 以Factory结尾,表示它是一个工厂类,是用于管理Bean的一个工厂FactoryBean:以Bean结尾,表示它是一个Bean,不同于普通Bean的是:它是实现了FactoryBean接 口的Bean,根据该Bean的Id从BeanFactory中获取的实际
2016-07-22 15:38:41 323
转载 java中InvocationHandler 用于实现代理。
以下的内容部分参考了网络上的内容,在此对原作者表示感谢! Java中动态代理的实现,关键就是这两个东西:Proxy、InvocationHandler,下面从InvocationHandler接口中的invoke方法入手,简单说明一下Java如何实现动态代理的。 首先,invoke方法的完整形式如下:public Object invok
2016-07-22 15:37:56 3907
转载 Spring回调方法DisposableBean接口
除了自定义的destroy-method.还可以实现DisposableBean接口,来回调bean销毁时候执行的方法,这个接口有一个destroy方法,生命周期是是destroy----bean销毁---自定义的destroy方法 SimpleBean.java123456789
2016-07-22 15:37:11 649
转载 spring之BeanFactoryAware接口
springBeanFactoryAware (转)要直接在自己的代码中读取spring的bean,我们除了根据常用的set外,也可以通过spring的BeanFactoryAware接口实现,只要实现setBeanFactory方法就可以,private BeanFactory beanFactory; public
2016-07-22 15:36:34 7496 1
转载 Criteria 和 DetachedCriteria的区别与使用
Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的,所以它是由 Hibernate Session 进行创建的;而 DetachedCriteria 是离线的,创建时无需Session,DetachedCriteria 提供了 2 个静态方法 forClass(Class) 或 forEntityName(Name)进行Detach
2016-07-22 15:36:05 442
转载 深入Spring IOC源码之ResourceLoader
在《深入Spring IOC源码之Resource》中已经详细介绍了Spring中Resource的抽象,Resource接口有很多实现类,我们当然可以使用各自的构造函数创建符合需求的Resource实例,然而Spring提供了ResourceLoader接口用于实现不同的Resource加载策略,即将不同Resource实例的创建交给ResourceLoader来计算。public in
2016-07-22 15:34:58 273
转载 使用BeanNameAutoProxyCreator实现spring的自动代理
提到代理,我们可以使用ProxyBeanFactory,并配置proxyInterfaces,target和interceptorNames实现,但如果需要代理的bean很多,无疑会对spring配置文件的编写带来繁重的工作Spring为我们提供了,根据beanName匹配后进行自动代理的解决方法业务接口 package AutoProxyOne;publi
2016-07-22 15:34:18 1095
转载 spring 后置处理器BeanFactoryPostProcessor和BeanPostProcessor的用法和区别
主要区别就是: BeanFactoryPostProcessor可以修改BEAN的配置信息而BeanPostProcessor不能,下面举个例子说明BEAN类:package com.springdemo.postProcessor; public class PostProcessorBean { private String username
2016-07-22 15:33:43 607
转载 Spring中配置和读取多个Properties文件--转
public class PropertiesFactoryBeanextends PropertiesLoaderSupportimplements FactoryBean, InitializingBeanAllows for making a properties file from a classpath location available as Properties insta
2016-07-22 15:33:05 684
转载 Spring BeanNameAutoProxyCreator 与 ProxyFactoryBean区别
一般我们可以使用ProxyBeanFactory,并配置proxyInterfaces,target和interceptorNames实现,但如果需要代理的bean很多,无疑会对spring配置文件的编写带来繁重的工作,这时就该BeanNameAutoProxyCreator出场了。(一)ProxyFactoryBean属性介绍 target:代理的目标类proxyI
2016-07-22 15:32:23 1229
转载 Filter体现职责链模式
1. 前言 Filter—Filter 技术是servlet2.3 新增加的功能。完成的流程:对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。 Filter体现了一种职责琏模式。那么他是如何体现的呢?2. 职责链模式 在具体的解释这个之前先看看职责链模式的定义:使多个对
2016-07-22 15:31:51 358
转载 WebApplicationInitializer (spring 3.x.x以上版本)
实现WebApplicationinitializer接口的类都可以在web应用程序启动时被加载。那么来想一个问题:为什么实现了WebApplicationInitializer这个接口后,onStartup方法就会自动执行?我们来简单分析一下它的实现原理,下面先贴上WebApplicationInitializer接口相关代码:servlet的ServletConta
2016-07-22 15:31:05 1069
原创 Ajax传递给后台值得做法
function findByCondition() {var pageNum = $("#pageNum").val();$.ajax({type : "POST",url : "appErrorLog/reallyShowLogs",/* dataType:json, */data :"pageNum=" + pageNum + mddata,success :
2016-07-22 12:00:53 411
转载 50多条mysql数据库优化建议
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说:a.有大量重复值、且经常有范围查询( > , =, b.经常同时存取多列,且每列都含有重复值可考虑建立组
2016-07-20 09:43:16 1517
转载 mysql 如何用一条SQL将一张表里的数据插入到另一张表 3个例子
1. 表结构完全一样 insert into 表1 select * from 表2 2. 表结构不一样(这种情况下得指定列名) insert into 表1 (列名1,列名2,列名3) select 列1,列2,列3 from 表23、只从另外一个表取部分值insert into 表1 (列名1,列名2,列名3) values(列1,列
2016-07-20 09:19:00 36102 3
转载 MySQL索引之前缀索引和索引选择性
有时需要索引很长的字符列,它会使索引变大而且变慢。一个策略就是模拟哈希索引。但是有时这也不够好,那?通常可以索引开始的几个字符,而不是全部值,以节约空间并得到好的性能。这使索引需要的空间变小,但是也会降低选择性。索引选择性是不重复的索引值 和表中所有行的比值。高选择性的索引有好处,因为它使mysql在查找匹配的时候可以过波掉更多的行。唯一索引的选择率为1,为最佳值。如果索引BLOG
2016-07-20 09:18:08 2721
转载 MYSQL中replace into的用法
今天在编程的时候,学习了replace into的用法,真的很好用,是insert into的增强版。在向表中插入数据时,我们经常会遇到这样的情况:1、首先判断数据是否存在;2、如果不存在,则插入;3、如果存在,则更新。在SQL Server中可以这样处理:if not exists (select 1 from t where id = 1)?insert into t(id
2016-07-20 09:17:38 1787
转载 Oracle 中count(1) 和count(*) 的区别
count(1)与count(*)比较: 如果你的数据表没有主键,那么count(1)比count(*)快 如果有主键的话,那主键(联合主键)作为count的条件也比count(*)要快 如果你的表只有一个字段的话那count(*)就是最快的啦 count(*) count(1) 两者比较。主要还是要count(1)所相对应的数
2016-07-20 09:17:06 1823
转载 MySQL开发规范
1.库名、表名、字段名必须使用小写字母,并采用下划线分割。a)MySQL有配置参数lower_case_table_names,不可动态更改,linux系统默认为 0,即库表名以实际情况存储,大小写敏感。如果是1,以小写存储,大小写不敏感。如果是2,以实际情况存储,但以小写比较。b)如果大小写混合使用,可能存在abc,Abc,ABC等多个表共存,容易导致混乱。c)字段名显式
2016-07-20 09:16:07 497
转载 二、oracle pctfree和pctused详解
一、建立表时候,注意PCTFREE参数的作用 PCTFREE:为一个块保留的空间百分比,表示数据块在什么情况下可以被insert,默认是10,表示当数据块的可用空间低于10%后,就不可以被insert了,只能被用于update;即:当使用一个block时,在达到pctfree之前,该block是一直可以被插入的,这个时候处在上升期。 PCTUSED:是指当块里的
2016-07-20 09:15:29 284
转载 mysql支持跨表delete删除多表记录
前几天写了Mysql跨表更新的一篇总结,今天我们看下跨表删除。 在Mysql4.0之后,mysql开始支持跨表delete。 Mysql可以在一个sql语句中同时删除多表记录,也可以根据多个表之间的关系来删除某一个表中的记录。 假定我们有两张表:Product表和ProductPrice表。前者存在Product的基本信息,后者存在Product的价格。第一种跨表删除的方式是不用j
2016-07-20 09:14:55 4167
转载 MYSQL的锁介绍,以及死锁发生情况-带例子
mysql锁能在并发情况下的mysql进行更好的优化MySQL有三种锁的级别:页级、表级、行级,这3种锁的特性可大致归纳如下: 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,
2016-07-20 09:14:22 4249
转载 mysql max_allowed_packet查询和修改
http://www.2cto.com/database/201303/195830.htmlmysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。查看目前配置 show VARIABLES like '%max_allowed_packet%';显示的结果为:
2016-07-20 09:13:50 935
转载 mysql几种性能测试的工具使用
mysql几种性能测试的工具使用近期由于要比较mysql及其分支mariadb, percona的性能,了解了几个这方面的工具,包括:mysqlslap sysbench tpcc-mysql,做一个整理,备忘,分享1、mysqlslap安装:简单,装了mysql就有了作用:模拟并发测试数据库性能。优点:简单,容易使用。不足:不能指定生成的数据规模,测试
2016-07-20 09:13:06 5552
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人