随笔分类 -  Java Web

摘要:Spring AOP1. 代理模式1.1. 静态代理程序中经常需要为某些动作或事件作下记录,以便在事后检测或作为排错的依据,先看一个简单的例子:import java.util.logging.*;public class HelloSpeaker {private Logger logger = Logger.getLogger(this.getClass().getName());public void hello(String name) {logger.log(Level.INFO, "hello method starts....");System.out.pri 阅读全文
posted @ 2014-02-24 19:41 塞北鸿雁飞 阅读(420) 评论(0) 推荐(0) 编辑
摘要:1. 注入类型a) Spring_0300_IOC_Injection_Typeb) setter(重要)c)构造方法(可以忘记)d)接口注入(可以忘记)以下是setter 注入[html]view plaincopyprint[java]view plaincopyprint?packagecom.demo.service;importorg.junit.Test;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicat 阅读全文
posted @ 2013-12-24 19:33 塞北鸿雁飞 阅读(313) 评论(0) 推荐(0) 编辑
摘要:事务并发处理一、 数据库的隔离级别:并发性作用。1、 ReadUncommited(未提交读):没有提交就可以读取到数据(发出了Insert,但没有commit就可以读取到。)很少用2、 ReadCommited(提交读):只有提交后才可以读,常用,3、 RepeatableRead(可重复读):mysql默认级别, 必需提交才能见到,读取数据时数据被锁住。4、 Serialiazble(序列化读):最高隔离级别,串型的,你操作完了,我才可以操作,并发性特别不好,隔离级别是否存在脏读是否存在不可重复读是否存在幻读Read Uncommitted(未提交读)YYYRead Commited(提交 阅读全文
posted @ 2013-12-02 19:54 塞北鸿雁飞 阅读(377) 评论(0) 推荐(0) 编辑
摘要:hibernate缓存一、 Session级缓存(一级缓存)一级缓存很短和session的生命周期一致,因此也叫session级缓存或事务级缓存 hibernate一级缓存那些方法支持一级缓存: * get() * load() * iterate(查询实体对象)如何管理一级缓存: *session.clear(),session.evict()如何避免一次性大量的实体数据入库导致内存溢出 * 先flush,再clear如果数据量特别大,考虑采用jdbc实现,如果jdbc也不能满足要求可以考虑采用数据本身的特定导入工具二、 二级缓存Hibernate默认的二级缓存是开启的。 二级缓存也称为进程 阅读全文
posted @ 2013-12-02 19:50 塞北鸿雁飞 阅读(515) 评论(0) 推荐(0) 编辑
摘要:九、集合映射1、 Set2、 Lista)@OrderBy注意:List与Set注解是一样的,就是把Set更改为List就可以了privateListusers =newArrayList(); @OneToMany(mappedBy="group", cascade={CascadeType.ALL} ) @OrderBy("name ASC")//使用@OrderBy注解List中使用哪个字段进行排序,可以组合排序,中间使用逗号分开publicListgetUsers() {returnusers;}public voidsetUsers(List 阅读全文
posted @ 2013-12-02 19:45 塞北鸿雁飞 阅读(563) 评论(0) 推荐(0) 编辑
摘要:建议在了解了一定网络爬虫的基本原理和Heritrix的架构知识后进行配置和扩展。相关博文:http://www.cnblogs.com/hustfly/p/3441747.html摘要 随着网络时代的日新月异,人们对搜索引擎,网页的内容,大数据处理等问题有了更多的要求。如何从海量的互联网信息中选取最符合要求的信息成为了新的热点。在这种情况下,网络爬虫框架heritrix出现解决了这个问题。 Heritrix是一个开源的、java开发的、可扩展的web爬虫项目。用户可以使用它来从网上抓取想要的资源。其最出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。 本文在已经简单分析过heritri 阅读全文
posted @ 2013-11-26 22:19 塞北鸿雁飞 阅读(1513) 评论(0) 推荐(1) 编辑
摘要:六、多对多 - 单向Ø一般的设计中,多对多关联映射,需要一个中间表ØHibernate会自动生成中间表ØHibernate使用many-to-many标签来表示多对多的关联Ø多对多的关联映射,在实体类中,跟一对多一样,也是用集合来表示的。(一) 实例场景:用户与他的角色(一个用户拥有多个角色,一个角色还可以属于多个用户)(二) 对象模型:(三) 关系模型:(四) 实体类Role实体类:public classRole {private intid;privateString name;public intgetId()returnid;}public v 阅读全文
posted @ 2013-11-25 19:45 塞北鸿雁飞 阅读(1996) 评论(0) 推荐(0) 编辑
摘要:三、多对一–单向场景:用户和组;从用户角度来,多个用户属于一个组(多对一 关联)使用hibernate开发的思路:先建立对象模型(领域模型),把实体抽取出来。目前两个实体:用户和组两个实体,多个用户属于一个组,那么一个用户都会对应于一个组,所以用户实体中应该有一个持有组的引用。(一) 对象模型图:(二) 关系模型:(三) 关联映射的本质: 将关联关系映射到数据库,所谓的关联关系是对象模型在内存中一个或多个引用。(四) 实体类User实体类:public classUser {private intid;privateString name;privateGroup group;publicGr 阅读全文
posted @ 2013-11-25 19:43 塞北鸿雁飞 阅读(463) 评论(0) 推荐(0) 编辑
摘要:一、一对一关联映射²两个对象之间是一对一的关系,如Person-IdCard(人—身份证号)²有两种策略可以实现一对一的关联映射Ø主键关联:即让两个对象具有相同的主键值,以表明它们之间的一一对应的关系;数据库表不会有额外的字段来维护它们之间的关系,仅通过表的主键来关联。Ø唯一外键关联:外键关联,本来是用于多对一的配置,但是如果加上唯一的限制之后,也可以用来表示一对一关联关系。对象模型实体类:/**人-实体类*/public classPerson {private intid;privateString name;public intgetId() {r 阅读全文
posted @ 2013-11-25 19:39 塞北鸿雁飞 阅读(719) 评论(1) 推荐(1) 编辑
摘要:一、 Xml方式标签必须配置在标签内第一个位置。由一个字段构成主键,如果是复杂主键标签被映射的类必须定义对应数据库表主键字段。大多数类有一个JavaBeans风格的属性, 为每一个实例包含唯一的标识。 元素定义了该属性到数据库表主键字段的映射。 (1) name (可选): 标识属性的名字(实体类的属性)。(2) type (可选): 标识Hibernate类型的名字(省略则使用hibernate默认类型),也可以自己配置其它hbernate类型(integer, long, short, float,double, character, byte, boolean, yes_no, true 阅读全文
posted @ 2013-11-25 19:33 塞北鸿雁飞 阅读(1087) 评论(0) 推荐(0) 编辑
摘要:随着网络时代的日新月异,人们对搜索引擎,网页的内容,大数据处理等问题有了更多的要求。如何从海量的互联网信息中选取最符合要求的信息成为了新的热点。在这种情况下,网络爬虫框架heritrix出现解决了这个问题。Heritrix是一个开源的、java开发的、可扩展的web爬虫项目。用户可以使用它来从网上抓取想要的资源。其最出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。 本文首先介绍网络爬虫程序的概念和作用,分析了heritrix的工作流程,模块划分,然后对源码进行多层次详细的分析,最后通过heritrix进行面向特定主题的网页抓取试验并进行结果分析。 阅读全文
posted @ 2013-11-25 16:30 塞北鸿雁飞 阅读(4238) 评论(5) 推荐(3) 编辑
摘要:Hibernate是一个开放源代码的ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装,Java程序员可以使用面向对象的编程思维来操纵数据库,它通过对象属性和数据库表字段之间的映射关系,将对象持久化到数据库中,可以说Hibernate就是将数据从对象形式转换成表字段后存入数据库的一种框架。hibernate移植非常好,因为它用到了方言配置,可以根据不同的数据库自动发出不同的sql。 1、环境准备: 1)去Hibernate官网下载最新的hibernate文件,笔者版本号为hibernate-release-4.2.3.Final; 2)文档内自带了说明文档,不过只有英... 阅读全文
posted @ 2013-11-20 21:17 塞北鸿雁飞 阅读(814) 评论(0) 推荐(0) 编辑
摘要:1、首先加入slf4j的jar包,即slf4j-api-1.6.1.jar在hibernate官网下载hibernate-release-4.2.2.Final.zip并解压,在hibernate-release-4.2.2.Final\lib\optional\ehcache目录里slf4j-api-1.6.1.jar2.加入log4j-1.2.15.jar,即slf4的log4j实现在hibernate-release-4.2.2.Final.zip里没有,所有要到网上搜一下下载。3、slf4j怎么将日志转成log4j?加入slf4j-log4j12-1.6.1.jar转换包在hibern 阅读全文
posted @ 2013-11-03 22:07 塞北鸿雁飞 阅读(1159) 评论(0) 推荐(0) 编辑
摘要:Junit简介: Junit最初是由Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework),为单元测试(Unit Test)的支持框架。用来编写和执行重覆性的测试。即所谓白盒测试。它包括了以下的特性: 1 对预期结果作断言 2 提供测试装备的生成与销毁 3 易于组织执行测试4 图形与文字界面的测试器Junit的环境配置环境:Eclipse 中配置junit,选择项目Junit4(在Package Explorer中) -> 右击鼠标 -> 选择properties -> 选择Java Build Pa 阅读全文
posted @ 2013-11-03 21:37 塞北鸿雁飞 阅读(547) 评论(0) 推荐(0) 编辑
摘要:自己总结下hibernate4.1版本中的新特性和hibernate3.3做区别1.数据库方言设置org.hibernate.dialect.MySQL5Dialect在3.3版本中连接MySQL数据库只需要指明MySQLDialect即可。在4.1版本中可以指出MySQL5Dialect2.buildSessionFactory4.1版本中buildSessionFactory()已经被buildSessionFactory(ServiceRegistry ServiceRegistry)取代解决办法:Configuration cfg = new Configuration();cfg.c 阅读全文
posted @ 2013-11-02 13:40 塞北鸿雁飞 阅读(535) 评论(0) 推荐(0) 编辑
摘要:初学JDBC,看了看书,自己动手的时候还是有很多地方有问题,最终终于解决了实现了数据库的连接。现将整个步骤描述如下:环境:mySQL5.1.26(win 32bit), Eclipse JavaEE IDE1mySQL的安装:最新版本是5.1.26,在官网上下载适合自己电脑系统的版本,我用的是win32bit的,注意要下载windows install版本的才能和其他windows程序一样安装,可以只安装自己需要的,如本程序只需Java版本的即可。然后再安装过程进行配置,设置root用户的密码等一系列配置(大多是默认的就好)。安装好之后,打开MySQL的command line输入如下代码,即 阅读全文
posted @ 2013-10-13 20:55 塞北鸿雁飞 阅读(792) 评论(0) 推荐(0) 编辑