- 博客(35)
- 资源 (4)
- 收藏
- 关注
原创 Hibernate实体对象的三种状态
对象状态:一般来说,new 出来的与 session 没有关联,是瞬时状态。但是,如果故意地将 new 出来的一个对象按照数据库中的某条记录赋值,那么这个对象也就成为脱管状态,因为已经有数据和它对应了。可以直接用这个对象对数据库进行对应记录的 delete、update 操作。并且,delete 和 update 的时候,只要主键与数据库中的记录相同即可,其他属性不需要相同
2017-09-25 17:19:52 382
原创 Spring依赖注入原理
基于接口的编程,将服务端和数据库端完全隔离开,只由接口相联系。如定义一个: 其中,第一个声明了一个类 PersonDaoBean,这是接口 PersonDao 的一个实现类。第二个生命了一个类 HelloBean,这个类中定义了一个私有变量,变量类型便是接口 PersonDao。如果要想使
2017-09-25 17:17:24 400
原创 管理bean的生命周期
作用域范围默认是单实例(singleton),创建Spring容器时,就实例化类。作用域范围是原型(prototype)时,getBean()时才会实例化类。、还可以修改中的一个属性 lazy-init,true 表示创建容器时不进行实例化,调用时才进行实例化,反之表示创建容器室进行实例化。如果修改中的 default-lazy-init,则表示对其中所有的 都进行规范。
2017-09-25 17:16:01 222
原创 三种实例化bean的方式
方法一:使用类构造器实例化,如:表示对 output.test.HelloBean 这个类进行了注入。此类如下:package output.test;import output.test.impl.Hello;public class HelloBean implements Hello {
2017-09-25 17:10:27 245
原创 用@Autowired 注解来装配属性、自动装配
和 @Resource 的区别在于,它优先按照类型来匹配,默认情况下要求依赖必须存在,如果想让依赖不存在也可以,则采用以下方式:@Autowired(required=false)自动装配:按照各种方式来自动匹配,不用人为指定。不推荐使用,因为可能会发生不需要的自动匹配。如:java代码中不用做任何的注解,也会
2017-09-22 23:34:16 1131
原创 用@Resource注解来装配属性
使用 Field 注入(注解方式):减轻配置文件的臃肿程度。原因:在 xml 中注入的话,如果变量很多,那会使得行数很多,很臃肿。定义变量时加上注解: @Resource private PersonDao personDao;或者在 setter 函数前面加上注解: @Resource
2017-09-22 23:33:28 697
原创 使用 CGLIB 实现 AOP
实际应用中,需要代理的类可能没有实现接口,那么就不能用 JDK 来实现动态代理,可以使用 CGlib 来实现。CGlib 动态代理:package aop.test.factory;import java.lang.reflect.Method;import output.test.impl.HelloBean;import net.sf.c
2017-09-22 23:29:38 748
原创 error at ::0 can't find referenced pointcut...解决方法
使用AspectJ注解开发AOP应用时,会遇到以下问题: ::0 can't find referenced pointcut 这是 jdk 和 spring 插件的版本不兼容的问题,正确版本如下:我用的 jdk1.7,因此在 pom.xml 中修改版本如下即可: org.aspectj aspectjrt
2017-09-22 23:28:09 1457
原创 使用注解方式实现aop
首先,在 xml 配置文件中,加入 aop 的资源: xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns:context= "http://www.springframework.org/schema/context" xmlns:aop= "
2017-09-22 23:23:44 380
原创 使用 jdk 实现 AOP
两种:静态代理、动态代理。企业中,静态代理很少使用。拦截的步骤可以被称为横截性关注点。拦截某些类的话,会判断这个类是否实现了接口,如果实现了接口就会用 jdk 动态代理来创建代理对象;如果这个类没有实现接口情况下,则用 CGLIB 来创建代理对象。jdk 动态代理:package aop.test.factory;import jav
2017-09-22 23:22:33 472
原创 第一个struts2服务
(1)在struts.xml的中添加一项http请求的处理方法: /WEB-INF/page/hello.jsp 其中,里面可以存放一系列action,name随便起,只要能体现这一系列action的功能即可。作用和java中的package差不多,就是聚集功能类似的action的。Namespace 影响着url
2017-09-22 23:17:18 247
原创 ActionContext 、ServletContext 和 ServletActionContext 的区别
上下文范围有 request, session, application,而 ServletContext 就是指的 application,可以在在Web应用范围内存取共享数据,是在Web应用程序装载时初始化的。可以通过 ServletActionContext. getServletContext() 或者 ActionContext. getContext().getApplicatio
2017-09-21 23:14:07 1854
原创 Struts2从后台传递数据到前台
1、通过ServletContextAction.getRequest().setAttribute("a", 你的值);页面中直接通过 ---这个是去request中的,session也类似。2、也可以直接中栈中取action类要有成员变量a。并有get和set方法然后在页面中直接-----这个是去栈中取。
2017-09-21 23:11:25 800
原创 struts2标签常用方法
1、寻找一个list中是否有等于id的值 2、实现加法纯数字加法有变量的加法(变量需为数字类型,如果其中一个为字符串则为字符串相连)3、获取 iterator 的下标第题
2017-09-21 23:08:33 279
原创 数据一致性解决方案
Consistency,Availability和Partition Tolerance( CAP定理):分区、一致性、可用性,三者不能同时满足。所以退而求其次,达到最终一致性,而不是实时一致性。1、定时同步。可以是增量的,按照时间来。2、用消息日志的方式来异步执行。消息日志可以存储到本地文本、数据库或消息队列,再通过业务规则自动或人工发起重试。消息日志方案的核心是保证服务
2017-09-21 23:05:21 1645
原创 mysql,oracle连接字符串
mysql:concat(str1,str2,...)其中,如果str1里面有单引号,需要在单引号前面加上\,就可以不转义, 如 \'FlagNation\'oracle:str1||str2||...其中,如果str1里面有单引号,需要在单引号前面再加一个单引号,就可以不转义,如SELECT 'INSERT INTO `enum_const` (
2017-09-21 23:03:14 344
原创 FreeMarker 项目的建立
建立一个 freemarker 的项目很简单,不用配置什么环境,只需要加上依赖的 jar 包即可: freemarker-x.x.x.jar。去 maven 库里下载。下面建立一个小 demo:1、新建 freemarker 工具类:package freemarker.test.common;import java.io.File;import
2017-09-21 23:00:41 603
原创 FreeMarker 与 Struts2 的结合
使用 freemarker ,可以非常容易的用 ftl 文件来代替 jsp 文件,其他的架构不用变化。只需要在 SSH2 的基础上,添加额外配置:1、添加jar包依赖:freemarker-x.x.x.jar2、在 web.xml 中添加: freemarker
2017-09-21 22:56:22 611
原创 freemarker 每个 {$name} 最好都加上默认值
即${classId!"00000"}或者在 $ 之前,先确保这个变量存在,如 其中, ?? 表示此变量存在,!表示否。
2017-09-21 22:55:39 5142
原创 freemarker 的debug
freemarker 很难debug,既不能在 eclipse 中debug,也不能在浏览器中 debug(因为浏览器看到的是freemarker解析之后的结果)。一个简单的方法是在插入输出变量的语句,在页面中看一看这个变量是否是自己想要的结果。比如想要看classId的值,则在页面的某个位置写上${classId}即可显示在页面中。
2017-09-21 22:54:56 7512
原创 iframe 跳转方法
一、背景A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,在D中跳转页面的写法区别如下。二、JS跳转window.location.href、location.href 本页面跳转,D页面跳转parent.location.href 上一层页面跳转,C页面跳转top.location.href 最外层页面跳转,A页面跳转
2017-09-20 21:14:36 1711
转载 html5和html的区别
浅谈:html5和html的区别最近看群里聊天聊得最火热的莫过于手机网站和html5这两个词。可能有人会问,这两者有什么关系呢?随着这移动互联网快速发展的时代,尤其是4G时代已经来临的时刻,加上微软对“XP系统”不提供更新补丁、维护的情况下“html5+css3”也逐渐的成为新一代web前端技术,手机网站也渐渐的成为一种趋势。什么是html5呢?html5最先由WHAT
2017-09-20 21:13:57 458
原创 eclipse 摁住ctrl 键卡死
在eclipse中使用ctrl+c ctrl+v等操作,或者凡是携带ctrl的操作,都会让eclipse 卡顿很久原因:eclipse中按住ctrl后可以用鼠标单击跳转到变量定义的地方,所以当按下ctrl键时eclipse会去生成这个映射,当文件比较大时,这个行为会花费比较多的时间。处理方式:打开选项 Window->Preferences->General?->E
2017-09-20 21:12:57 4215
原创 jrebel6 启动时报error:JRebel bootclasspath not specified!
在 tomcat 中加入一行参数:-Xbootclasspath/p:C:\Users\Administrator\AppData\Local\Temp\rebelboot.jar
2017-09-20 21:11:52 1447
原创 eclipse svn 忽略文件夹
以忽略 target 文件夹为例:window-->preferences-->team-->Ignored Resource-->Add Pattern-->新建一个*/target/*-->ok,再次同步可见traget下所有文件已不在。还有一些常用的可以忽略的pattern:.settings.settings/*targettarget/*.classp
2017-09-20 21:11:15 584
转载 简单之美 | Dubbo架构设计详解
Dubbo架构设计详解Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关
2017-09-19 22:39:08 639
转载 Dubbo 简介及demo
1. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者
2017-09-19 22:35:57 341
原创 透明度兼容各浏览器
background:#000; color:#fff; /* older safari/Chrome browsers */ -webkit-opacity: 0.5; /* Netscape and Older than Firefox 0.9 */ -moz-opacity: 0.5; /* Safari 1.x (pre WebKit!) 老式khtml内核的Saf
2017-09-19 22:35:03 673
转载 CSS完全兼容IE6、IE7、IE8、IE9和firefox方法 - 青羽 - 博客园
1、圆角左上角、右上角、右下角、左下角(顺时针) /* Gecko browsers */ -moz-border-radius: 20px 20px 20px 20px; /* Webkit browsers */ -webkit-border-radius: 20px; /* W3C syntax */ border-radius:20px;2、
2017-09-19 22:33:51 476
原创 div 中的文字水平居中和垂直居中
1、水平居中: text-align:center;2、单行垂直居中:设置line-height与div的height相等即可,如div { height:25px; line-height:25px; overflow:hidden;}这段代码很简单,后面使用overflow:hidden的设置是为了防止内容超出容器或者产生自动换行,
2017-09-19 22:32:58 3293
转载 CSS 各种选择器
1、id 选择器以 "#" 来定义#para1{ text-align:center; color:red;}Hello World!2、类选择器以一个点"."号显示.center{ text-align:center;}标题居中段落居中
2017-09-19 22:32:10 429
原创 CSS display: inline block inline-block的区别
display:block:将元素显示为块级元素总是从新行开始高度宽度边距都可以设置宽度默认是容器的100%,可以设置如:, , , , 和 display:inline:就是将元素显示为行内元素和其他元素都在一行上高度宽度、顶和底边距不可改变宽度就是它的文字或图片的宽度,不可设置如:, , , , , 和display:inli
2017-09-19 22:30:36 394
转载 CSS 下拉菜单
使用hover来表示鼠标移动上去了。下拉菜单实例|菜鸟教程(runoob.com).dropdown { position: relative; display: inline-block;}.dropdown-content { display: none; // 普通状态下,不显示这个控件 position: absol
2017-09-19 22:28:46 371
转载 div 中心对齐
块元素可以把左,右页边距设置为"自动"对齐。Note: 在IE8中使用margin:auto属性无法正常工作,除非声明 !DOCTYPEmargin属性可任意拆分为左,右页边距设置自动指定,结果都是出现居中元素菜鸟教程(runoob.com).center{ margin:auto; width:70%; backg
2017-09-19 22:27:30 857
原创 CSS 组合选择符
CSS3中,一共4种组合选择符:1、后代选取器(以空格分隔):所有的后代都会使用此格式div p{ background-color:yellow;}2、子元素选择器(以大于号分隔):只有第一个后代会使用此格式div>p{ background-color:yellow;}不能使用此格式: I
2017-09-19 22:25:50 564
数字图像处理_冈萨雷斯(第三版_中文版) pdf
2018-05-28
xshell 健康配色方案
2017-09-20
好看的确认框样式xcConfirm
2017-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人