- 博客(46)
- 资源 (1)
- 收藏
- 关注
转载 对Spring对Hibernate事务管理的简单理解
在谈Spring事务管理之前我们想一下在我们不用Spring的时候,在Hibernate中我们是怎么进行数据操作的。在Hibernate中我们每次进行一个操作的的时候我们都是要先开启事务,然后进行数据操作,然后提交事务,关闭事务,我们这样做的原因是因为Hibernate默认的事务自动提交是false,他是需要我们人为的手动提交事务,假如你不想每次都手动提交事务的话,你可以在hibernate.cf...
2018-08-07 14:13:17
165
转载 Hibernate session在service实现事务getCurrentSession()
我们调用Service层的一个方法的时候,它能够保证我们的这个方法中执行的所有的对数据库的更新操作保持在一个事务中,在事务层里面调用的这些方法要么全部成功,要么全部失败。那么事务的传播特性也是从这里说起的。如果你在你的Service层的这个方法中,除了调用了本类Dao层的方法之外,还调用了其他的Service方法,那么在调用其他的Service方法是需要解决这个问题:“事务是会传播的“。在S...
2018-08-07 14:12:38
220
转载 SpringBoot 整合Druid
一:引包 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.9</version> </dependency
2018-07-19 15:50:22
174
转载 springBoot注解大全
一、注解(annotations)列表@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@Configuration 等同于spring的XML配置文件;使用Jav...
2018-07-19 15:28:55
144
原创 Spring boot 解决 hibernate no session异常(即使用OSIV open session in view 模式)
启动类中加入 @Beanpublic OpenEntityManagerInViewFilter openEntityManagerInViewFilter(){ return new OpenEntityManagerInViewFilter();}配置文件中加入 spring.jpa.open-in-view=true
2018-07-19 14:41:20
1321
转载 @RequestParam,@PathParam,@PathVariable等注解区别
@RequestParam 和 @PathVariable 注解是用于从request中接收请求的,两个都可以接收参数,关键点不同的是@RequestParam 是从request里面拿取值,而 @PathVariable 是从一个URI模板里面来填充@RequestParam看下面一段代码:http://localhost:8080/springmvc/hello/101?param...
2018-07-19 10:52:16
271
原创 web.xml 中的listener、 filter、servlet 加载顺序及其详解
在项目中总会遇到一些关于加载的优先级问题,刚刚就遇到了一个问题,由于项目中使用了quartz任务调度,quartz在web.xml中是使用listener进行监听的,使得在tomcat启动的时候能马上检查数据库查看那些任务未被按时执行,而数据库的配置信息在是在web.xml中使用servlet配置的,导致tomcat启动后在执行quartz任务时报空指针,原因就是servlet中的数据库连接信息未...
2018-07-11 15:56:00
122
转载 SpringMVC详解
SpringMVC学习笔记----一、SpringMVC基础入门,创建一个HelloWorld程序1.首先,导入SpringMVC需要的jar包。2.添加Web.xml配置文件中关于SpringMVC的配置 <!--configure the setting of springmvcDispatcherServlet and configure the mapping--> &l...
2018-07-10 10:14:12
124
转载 Jmeter接口测试+压力测试
jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在linux/windows/macos上都可以使用。 jmeter可以做接口测试和压力测试。其中接口测试的简单操作...
2018-07-06 16:10:19
11267
转载 Jmeter压力测试简单教程(包括服务器状态监控)
前段时间公司需要对服务器进行压力测试,包括登录前的页面和登录后的页面,主要目的是测试负载均衡的实现效果。不知道是不是因为Jmeter不如loadRunner火爆还是什么,网上关于Jmeter的资料有很多但是大多千篇一律,要么简单弄个页面测试一下,要么全篇都是介绍很多和Jmeter无关的第三方工具,看起来很专业高深,但是作为测试小白来说,看到这样的东西确实头疼。我只是想好好了解一下Jmeter...
2018-07-06 16:03:02
155
转载 springboot整合freemarker
框架:spring boot、maven1、pom文件添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactI...
2018-07-04 15:39:20
198
转载 SpringMVC + Freemarker 模版的使用。
以前我们用Ajax有2种方式:通过 Ajax 从后台获取数据,返回前端页面,然后循环拼接字符串。通过 Ajax 请求后台,后台拼接字符串成Html代码,返回前端直接展示。无外乎这2中做法。那么有什么缺点呢?用 Javascript 写一堆Html拼接。杂、乱、尤其是 Javascript 功底不好的同学,N多错误,代码不讲究的同学,写完后别人看见就想吐。 Java 代码拼接Html代码一...
2018-07-04 14:57:48
258
转载 spring boot helloword
一、HelloWorld依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE&l...
2018-07-04 11:01:55
146
转载 Spring与Hibernate集成中的Session问题
主要讨论Spring与Hibernate集成中的session问题1.通过getSession()方法获得session进行操作public class Test extends HibernateDaoSupport{ public void save(User user){ this.getSession().save(user); ...
2018-06-30 16:46:00
180
转载 spring整和hibernate DAO中两种不同的获取session的方式
这个标题被我描述的太乱太杂了,其实要讲的主要是关于怎么得到用来操作数据层所使用的hibernateTemplate(另一个种方法是通过jdbcTemplate,但推荐使用第一种)。而hibernateTemplate是通过sessionFactory得到的,sessionFactory存在于hibernateDAOSupport来得到。(一切都是spring给我们封装好的)这里的关键是怎么通过sp...
2018-06-30 16:29:21
223
转载 JDK动态代理
动态代理详解1 学习动态代理的目的 动态代理技术都是在框架中使用,例如:Struts1、Struts2、Spring和Hibernate中都使用了动态代理技术。如果你不想自己写个框架,那么你基本上是用上不动态代理技术的。学习动态代理技术的目的是为了更好的理解框架内部的原理,也就是说是为了将来学习框架打基础!动态代理技术有点难度!而且明白了动态代理技术可能一时也想不到他适合在什么情况下使用它。这些...
2018-06-27 14:43:42
105
原创 spring boot
springFrameWork(JAVAEE框架)——》spring boot——》springcloud(spring 云微服,分布式微服)spring2.0新特性:1、Java的只能依赖Java8 即JDK1.82、底层框架使用了springframework 5.x3、全新特性:支持web fluxspring boot 环境准备1、安装配置JDK1.82、maven3、IDE(idea推荐...
2018-06-26 09:08:27
130
原创 Spring AOP
一、初衷1、水平分离:展示层-->业务层-->持久层2、垂直分离:模块划分(如订单、库存)3、切面分离:分离功能性需求与非功能性需求二、AOP的好处1、集中处理某一关注点2、方便的添加删除关注点,不影响主业务模块代码3、侵入性少,增强代码的可读性和可维护性三、应用场景权限控制 日志记录 缓存控制 事物控制 性能监控 分布式追踪 异常处理等等。四、支持AOP的语言Java ...
2018-06-25 15:44:11
99
转载 细谈Hibernate之悲观锁和乐观锁解决hibernate并发
锁( locking),这个概念在我们学习多线程的时候曾经接触过,其实这里的锁和多线程里面处理并发的锁是一个道理,都是暴力的把资源归为自己所有。这里我们用到锁的目的就是通过一些机制来保证一些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的“锁”,即给我们选定的目标数据上锁,使其无法被其他程序修改。Hibernate支持两种锁机制:即通常所说的“悲...
2018-06-14 09:03:00
125
转载 hibernate get和load的区别,一篇写的很好的博客。转载下!
Hibernate中get()和load()的区别 Hibernate中根据Id单条查询获取对象的方式有两种,分别是get()和load(),来看一下这两种方式的区别。 1. get() 使用get()来根据ID进行单条查询:1User user=session.get(User.class, "1");当get()方法被调用的时候就会立即发出SQL语句:1234567891011Hiber...
2018-06-08 09:26:14
105
转载 log4j和log4j2的区别
log4j是Apache的一个开源项目,log4j2和log4j是一个作者,只不过log4j2是重新架构的一款日志组件,他抛弃了之前log4j的不足,以及吸取了优秀的logback的设计重新推出的一款新组件。log4j2的社区活跃很频繁而且更新的也很快。1、配置文件类型log4j是通过一个.properties的文件作为主配置文件的,而现在的log4j 2则已经弃用了这种方式,采用的是.xml,....
2018-06-05 15:14:05
164
转载 log4j使用
一、入门实例1.新建一个JAva工程,导入包log4j-1.2.17.jar,整个工程最终目录如下2、src同级创建并设置log4j.properties ### 设置###log4j.rootLogger = debug,stdout,D,E### 输出信息到控制抬 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderl...
2018-06-05 15:04:01
105
转载 线程(Thread)
线程是Java乃至所有应用开发的必修基础课,引入多线程可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。 以下,我将从进程和线程的比较、自定义线程、线程生命周期和线程安全等方面对线程进行介绍: 一、进程 VS 线程 1、进程:计算机正在执行的程序,内存分配的最小单...
2018-03-21 16:30:23
172
转载 随机流(RandomAccessFile)的使用介绍
一、作用: 随机流(RandomAccessFile)不属于IO流,支持对文件的读取和写入随机访问。二、随机访问文件原理: 首先把随机访问的文件对象看作存储在文件系统中的一个大型 byte 数组,然后通过指向该 byte 数组的光标或索引(即:文件指针 FilePointer)在该数组任意位置读取或写入任意数据。三、相关...
2018-03-21 16:29:36
395
转载 Cannot change version of project facet Dynamic web module to 2.5
在Eclipse中新建了一个web项目,但是项目上报错,有红色小叉叉,但是展开项目,子项目上并没有报错,单是这样看的话找不到错误在哪里。打开Markers窗口,提示pom.xml文件有错,但是无论怎么改都不起作用,这个问题让人很无语,知道有错,但却不知道该怎么改。不过,在伟大的江江同学的帮助下,最后终于解决了。原来是这样的:我们用Eclipse创建Maven结构的web项目的时候选择了Arti
2018-02-01 11:30:19
128
原创 springMVC拦截器
springMVC拦截器主要作用是拦截用户请求并进行相对应的处理:如日志记录、权限检查、性能检测、通用行为springMVC中的Intercepter拦截器请求是通过实现HandlerIntercepter接口来实现的: 1、要定义的Intercepter类实现了HandlerIntercepter接口 2、要定义的类继承了实现HandlerIntercepter接口的类,如Handler
2018-01-18 18:04:42
224
原创 SpringMVC四大注解类Component、Controller、Service、Repository
@Component用于通用标注,即可以代替Controller、Service、Repository任何一个,当然在开发过程中应该尽量使用具体的标注,这样使得标注更加清晰明确。@Controller用于标注控制层的类@Service用于标注service层的类@Repository用于标注DAO层的类这些注入可以直接标注,也可以带一个参数标识当前注解类的名称。@Autowired和@Resour
2018-01-18 15:47:05
532
原创 SpringMVC中RequestMapping注解类的使用
1、在springMVC中开发controller控制类,使用@Controller注解,并在springMVC配置文件中进行扫描配置2、在controller控制器类中使用@RequestMapping注解来注解类和方法,以实现在RequestMapping中注入对该类和方法的请求的路径。在controller类中可以在类上注解@RequestMapping也可以不注解,如果注解了,则请求路径为
2018-01-18 15:31:22
1717
原创 SpringMVC学习
1、什么是MVC模:model view controller 模型-视图-控制器(模型:应用程序的核心,如数据表;视图:客户端展示数据;控制器:控制业务流程,以及数据的读取和写入)2、MVC模式的优势: 1、低耦合性 2、重用性高 3、生命周期成本低 4、部署快 5、可维护性高 6、有利于软件工程化管理3、spring MVC体系结构:、
2018-01-18 14:15:52
162
原创 servelet知识点精华
1、GET请求和POST请求的区别: 安全性:GET弱于post,因为get请求参数会在浏览器的URL中显示,而post不会 数据量:get弱于post,get一般小于2kb,而post理论上不做限制,但是post最好不要大于64kb 从响应请求的速度上,get要强于post,get请求会立即被服务器响应,而post可能会形成等候队列
2018-01-17 15:52:43
316
原创 java面向对象知识点精华
1、抽象、封装、继承、多态是面向对象程序设计的四个特点2、面向对象的开发分为四个过程:面向对象的分析、面向对象的设计、面向对象的实现(分析用户需求,从问题中提取对象,设计类(包括类的属性和类间的关系)等)3、可重用性、可扩张和可管理性4、类的定义,class前修饰符分为访问控制符和非访问控制符两大类。5、final类是最终的类,不能被子类修饰。不能被abstract修饰,因为abs
2018-01-17 15:07:21
292
原创 java基础知识陷阱
1、java浮点运算陷阱 1.float和double不能进行精确的浮点数运算(如:System.out.println(2.0-1.1)的结构不是0.9而是0.8999999999) 所以对于此类浮点数运算我们应该使用BigDecimal类来处理 BigDecimal a=new BigDecimal("2.0"); BigDec
2018-01-17 11:48:32
165
转载 Java中堆内存和栈内存详解
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。
2018-01-17 10:47:05
133
原创 java基础面试知识点
1、java关键字 : 1、熟知所有的关键字 2、所有的关键字都是小写的 3、goto和const是java保留的关键字,在实际中并没有使用 4、true false 和null不是严格意义上的java关键字,而是文字常量 5、程序遇到return将不会执行finally2、java数据类型 1.8种基本数据类
2018-01-17 10:30:56
118
原创 C3P0连接问题
今天写的一个项目需要更换数据库地址,项目框架是SSH,数据库连接用的是c3p0,结果换了数据库连接地址、用户名、密码之后始终连接不上数据库(确认连接信息和数据库本身没有问题),然后日志信息为:信息: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 5, acqui
2017-12-08 13:56:35
411
转载 git初始化及仓库的创建和操作
初次运行Git前的配置当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:$ git config --global user.name "gitname"$ git config --global user.email git_email_address
2017-11-30 12:28:21
5759
原创 git学习笔记
目的:通过git管理GitHub上面托管的项目代码安装: 1、官网下载地址:https://git-scm.com/downloads 2、点击git的exe安装文件安装即可git的使用:
2017-11-29 17:55:04
127
转载 maven之Nexus的配置【setting.xml配置镜像<mirror>
前面已经讲解了配置nexus共享仓库。启动了nexus服务后,本地仓库下载jar包都是从nexus里下载,如果nexus里没有,nexus会与maven的中央仓库打交道,然后下载对应的依赖包。当关闭了nexus服务后,本地仓库就会跳过nexus,直接去maven中央仓库下载依赖包了。如果我们不希望本地仓库直接去maven中央仓库下载,而必须要从nexus里下载依赖包,如果nexus里没有对应的
2017-11-25 16:55:51
3479
自定义弹出窗体
2015-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人