JavaEE框架
文章平均质量分 57
谦虚使人发胖
这个作者很懒,什么都没留下…
展开
-
Spring Aop实例@Aspect、@Before、@AfterReturning@Around 注解方式配置
用过spring框架进行开发的人,多多少少会使用过它的AOP功能,都知道有@Before、@Around和@After等advice。最近,为了实现项目中的输出日志和权限控制这两个需求,我也使用到了AOP功能。我使用到了@Before、@Around这两个advice。但在,使用过程中,却对它们的执行顺序并不清楚。为了弄清楚在不同情况下,这些advice到底是以怎么样的一个顺序进行执行的,我作了个...转载 2018-06-01 18:08:01 · 55327 阅读 · 6 评论 -
Hibernate操作数据库
1,使用Hibernate加载数据加载数据是指通过标识符得到指定类的持久化对象,Session提供了get()和load() 两种方法来加载数据(不操作数据不用事务这个概念)1>get()public void HIbernateTest() { Configuration conf = new Configuration().configure()转载 2018-01-23 15:28:19 · 507 阅读 · 0 评论 -
使用Hibernate操作数据库
1,使用Hibernate加载数据加载数据是指通过标识符得到指定类的持久化对象,Session提供了get()和load() 两种方法来加载数据(不操作数据不用事务这个概念)1>get()public void HIbernateTest() { Configuration conf = new Configuration().configure();转载 2018-01-23 15:17:49 · 221 阅读 · 0 评论 -
Spring定时任务调度<task:scheduled-tasks>【含cron参数详解】
spring内部有一个task是Spring自带的一个设定时间自动任务调度task使用的时候很方便,但是他能做的东西不如quartz那么的多!可以使用注解和配置两种方式,配置的方式如下引入Spring放在appcation.xml开头<beans xmlns="http://www.springframework.org/schema/beans" xmlns转载 2017-06-09 15:09:43 · 12818 阅读 · 0 评论 -
内存溢出 出现原因及解决方案
Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识进行详细介绍。一、Java JVM内存介绍JVM管理两种类型的内存,堆和非堆。按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是转载 2017-10-09 09:05:40 · 2931 阅读 · 0 评论 -
Hibernate配置Log4J
hibernate3 自带的默认的日志框架是slf4j,hibernate3的slf只是一个日志的接口,而hibernate3 自带默认的日志框架,在实际开发中很少有公司或者是项目中用到,这里记录一种使用log4j的日志框架来代替slf4j日志框架的实现,具体配置以及实现如下:一.加入log4j的日志框架说明:1. slf4j-api-1.6.1.jar文转载 2017-09-17 16:54:49 · 2819 阅读 · 0 评论 -
JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分首先这是现在最基本的分层方式,结合了SSH架构。modle层就是对应的数据库表的实体类。Dao层是使用了Hibernate连接数据库、操作数据库(增删改查)。Service层:引用对应的Dao数据库操作,在这里可以编写自己需要的代码(比如简单的判断)。Action层:引用对应的Servi转载 2016-04-15 13:53:07 · 2372 阅读 · 0 评论 -
Java自定义注解
1. 自定义注解的语法要求 @Target({ElementType.METHOD,ElementType.Type}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Documented //生成javadoc时会包含注解 public @interface Description{String d转载 2016-04-21 10:47:01 · 368 阅读 · 0 评论 -
注解
1. JDK 自带的注解@Override 重写方法@Deprecated 标识该方法已过时@Suppvisewarnings 忽略警告2. 常用的Spring注解@Autowired:可对类成员变量、方法及构造函数进行标注,完成自动装配@Service:用于标注业务层组件@Controller:用于标注控制层组件(如struts中的action)@Reposi转载 2016-04-21 11:35:34 · 300 阅读 · 0 评论 -
JPA 中注解的作用
1. @Index@Index(name="idx_department_name")private String name;用于添加索引,加快查找速度,索引名称为 "idx_department_name"2. @NotNull@NotNullprivate String name;声明该字段不为空3. @ManyToOne@ManyToO转载 2016-05-05 13:47:14 · 6779 阅读 · 1 评论 -
svn: E155004: Working copy 'E:\XX' locked 解决方法
出现svn: E155004: Working copy 'E:\XX' locked 原因:SVN 本地更新时,由于一些操作中断更新,如磁盘空间不够,用户取消。 可能会造成本地文件被锁定的情况。一般出现这种情况的解决方法: 1、可以使用SVN clean up来清除锁定。 2、如果不是本目录锁定,系统提示上一层目录锁定,需要到上一层或者根目录中清除。 3.转载 2016-05-17 15:58:52 · 22059 阅读 · 2 评论 -
Java Web 中防止同时操作一个数据引起错误
在Entity中添加Version字段,如@Versionprivate int version;为了保证version生效,必须在FormBean中也添加上version字段,但是不需要注解private int version;之后每次操作数据,version都会自动增长原创 2016-06-15 17:07:53 · 3637 阅读 · 0 评论 -
@NotEmpty、@NotNull、@NotBlank 的区别
@NotEmpty 用在集合类上面 加了@NotEmpty的String类、Collection、Map、数组,是不能为null且长度必须大于0;@NotBlank 用在String上面 纯空格的String也是不符合规则的,不能为null;@NotNull 用在基本类型上 不能为null,但可以为empty:(""," "," ");转载 2016-07-01 17:48:59 · 1947 阅读 · 0 评论 -
iReport设置文字自动换行
1、 选中要自动换行的text框,勾选中属性面板中的“StretchWith Overflow”属性2、 选中该字段所在行的所有字段(包括行头),在“属性”面板中将“Stretch Type”设置为“Relative to Tallest Object”...转载 2016-07-06 16:01:46 · 7522 阅读 · 1 评论 -
JavaWeb学习总结(一)——JavaWeb开发入门
一、基本概念1.1、WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。 Internet上供外界访问的Web资源分为:静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。转载 2016-07-14 11:08:04 · 1274 阅读 · 0 评论 -
springmvc 中controller与jsp传值
在springmvc中的controller所对应的函数中,如果需要从*.jsp页面中获取数据,可以自行在函数括号中写,springmvc会自动封装传过来的值。spring-mvc.xml 中加入如下语句:Controller.java 两种形式都可以,但是第二种,jsp页面中的参数是personList1//列表 @RequestMapping(转载 2016-08-26 09:18:04 · 9656 阅读 · 0 评论 -
java中对list进行分页,并将显示数据到页面
有时候需要根据条件查询得出的数据较多,需要分页显示到页面上。这时点击下一页就不方便每次带查询条件在数据库中分页。可以在list中进行分页。page的model类:public class Page { private Integer currentPage;//当前页 private int pageSize;//每页显示记录条数 private int转载 2018-01-31 14:25:50 · 16630 阅读 · 0 评论 -
Web.xml详解
一、 Web.xml详解:(一) web.xml加载过程(步骤)首先简单说一下,web.xml的加载过程。当我们去启动一个WEB项目时,容器包括(JBoss、Tomcat等)首先会读取项目web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常地被启动起来。l 启动WEB项目的时候,容器首先会去它的配置文件web.xml读取两个节点转载 2017-07-05 10:17:39 · 287 阅读 · 0 评论 -
关于spring xml文件中的xmlns,xsi:schemaLocation
使用spring也有一段时间了,配置文件也见了不少了,但是发现配置文件的beans里面有很多链接,一开始也很迷惑,所以抽了一点时间整里了一下。首先我们看到的一个spring的配置文件大概如下面这个样子:<beans xmlns="http://www.springframework.org/schema/beans" //这表示默认命名空间 xmlns:hdp="http转载 2018-01-17 16:47:36 · 904 阅读 · 0 评论 -
Spring中的@scope注解
默认是单例模式,即scope="singleton"。另外scope还有prototype、request、session、global session作用域。scope="prototype"多例@scope默认是单例模式(singleton)如果需要设置的话@scope("prototype")1.singleton单例模式, 全局有且仅有一个实例2.prototype原型模式, 每次获取...转载 2018-04-19 14:21:17 · 877 阅读 · 0 评论 -
Spring JdbcTemplate使用详解
JdbcTemplate简介 Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。 JdbcTemplate位于中。其全限定命名为org.springframework.jdbc.core.JdbcTemplate。要使用JdbcTemlate还需一个这个包包含了一下事务和异常控制 JdbcTem...转载 2018-04-23 13:48:00 · 11032 阅读 · 0 评论 -
当spring 容器初始化完成后,执行某个方法
在做web项目开发中,尤其是企业级应用开发的时候,往往会在工程启动的时候做许多的前置检查。比如检查是否使用了我们组禁止使用的Mysql的group_concat函数,如果使用了项目就不能启动,并指出哪个文件的xml文件使用了这个函数。而在Spring的web项目中,我们可以介入Spring的启动过程。我们希望在Spring容器将所有的Bean都初始化完成之后,做一些操作,这个时候我们就可以实现一个...转载 2018-04-17 16:21:37 · 3402 阅读 · 0 评论 -
Spring对Hibernate事务管理
在谈Spring事务管理之前我们想一下在我们不用Spring的时候,在Hibernate中我们是怎么进行数据操作的。在Hibernate中我们每次进行一个操作的的时候我们都是要先开启事务,然后进行数据操作,然后提交事务,关闭事务,我们这样做的原因是因为Hibernate默认的事务自动提交是false,他是需要我们人为的手动提交事务,假如你不想每次都手动提交事务的话,你可以在hibernate.c...转载 2018-04-11 10:36:39 · 175 阅读 · 0 评论 -
IOC给编程带来的好处
IOC(inversion of control)的中文解释是“控制反转”或者“依赖注入”,它的实现目的是:我们可以通过配置文件来控制程序的流程,达到程序代码的优化。初学者往往弄不清楚为什么我们可以通过“控制反转”或“依赖注入”来优化我们的代码。今天我想借这个机会说说我对IOC程序设计原则的认识,以及它是怎么样把我们的程序弄“活”的。一、名词解释 首先我想说说我对“控制反转”和“依赖注入”的认识。...转载 2018-03-28 16:55:03 · 893 阅读 · 0 评论 -
SpringData Jpa、Hibernate、Jpa之间的关系
JPA规范本质上就是一种ORM规范,注意不是ORM框架——因为JPA并未提供ORM实现,它只是制订了一些规范,提供了一些编程的API接口,但具体实现则由服务厂商来提供实现,JBoss应用服务器底层就以Hibernate作为JPA的实现。既然JPA作为一种规范——也就说JPA规范中提供的只是一些接口,显然接口不能直接拿来使用。虽然应用程序可以面向接口编程,但JPA底层一定需要某种JPA实现,否则JP...转载 2018-04-02 11:34:01 · 267 阅读 · 0 评论 -
Spring通过URL来动态切换多数据源
1.多数据连接信息application.properties#dataBase1jdbc1.driver=org.mariadb.jdbc.Driverjdbc1.url=jdbc:mariadb://localhost:3306/remotetestjdbc1.username=rootjdbc1.password=rootjdbc1.pool.maxIdle=10jdbc1.po...原创 2018-03-20 16:46:50 · 1893 阅读 · 1 评论 -
Spring中的事务管理
Spring 事务管理有两种方式:一种是编程式事务管理,即通过编写代码实现事物管理,包括定义事务的开始,程序正常执行后的事物提交,异常时进行的事务回滚。另一种是基于AOP技术实现的声明式事务管理,其主要思想是将事务管理作为一个“切面”代码单独编写,我们只用关心核心业务逻辑代码,然后通过AOP技术将事务管理的“切面”代码织入到业务类中。声明式事务管理又包括基于AOP方式的事务管理和基于 @Trans...转载 2018-02-28 14:37:08 · 234 阅读 · 0 评论 -
Hibernate 与 Mybatis的对比
Hibernate 与 Mybatis的对比我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加得心应手。第一方面:开发速度的对比就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简...转载 2017-02-28 17:42:14 · 191 阅读 · 0 评论 -
Java、Hibernate(JPA)注解大全
1、@Entity(name=”EntityName”)必须,name为可选,对应数据库中的一个表2、@Table(name=””,catalog=””,schema=””)可选,通常和@Entity配合使用,只能标注在实体的class定义处,表示实体对应的数据库表的信息name:可选,表示表的名称.默认地,表名和实体名称一致,只有在不一致的情况下才需要指定转载 2016-06-23 10:15:43 · 349 阅读 · 0 评论 -
依赖注入与自动装配
在我面试的时候,常会问面试者一个问题,就是依赖注入有几种方式,发现面试者的回答五花八门,有回答两种的,也有回答三种的,四种的。其实正确的答案是两种:构造器注入和setter注入。 提到依赖注入,就不能不说装配。有些初学者总是会把这两个概念搞混,这个博文就是来跟大家讨论这两个概念以及其中详细的原理。 依赖注入的本质就是装配,装配是依赖注入的转载 2016-09-01 14:10:26 · 5684 阅读 · 5 评论 -
Hibernate Dao层注意点
@Query(value = "select sum(case when p.no = 'MZW0400000000' then cast(da.val as decimal) end) from tbl_daily_data da " + ", tbl_stat_parameter p, tbl_daily d , tbl_stat_work w , tbl_station s , tbl_l原创 2017-01-04 10:00:39 · 144 阅读 · 0 评论 -
hibernate缓存机制详细分析(一级、二级、查询缓存,非常清晰明白)
在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别)、二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题。随笔虽长,但我相信看完的朋友绝对能对hibernate的 N+1问题以及缓存有更深的了解。一、N+1问题首先我们来探讨一下N+1的问题,我们先通过一个例子来看一下,什么是N+1问题:转载 2017-03-20 10:07:59 · 1126 阅读 · 0 评论 -
Spring MVC通过注解(annotation)配置Bean
Spring能够在classpath下自动扫描,侦测和实例化具有特定注解的组件,这在Spring中称为组件扫描(Component scanning).特定组件的注解包括: @Component:基本注解,标识了一个受spring管理的组件. @Repository:标识持久层组件 @Service:标识服务层(业务层)组件 @Controller:标识表现层组件对于扫...转载 2018-01-28 15:01:08 · 2041 阅读 · 0 评论 -
Spring IOC和AOP的理解
spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 5.容器提供了众多的辅助类,能加快应用的开发 6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等 7.spring属于低侵入...转载 2017-03-20 10:09:31 · 320 阅读 · 0 评论 -
spring data 接口之 JpaRepository,JpaSpecificationExecutor
JpaRepository 继承于 PagingAndSortingRepository 接口, 拥有PagingAndSortingRepository 的所有方法,而JpaSpecificationExecutor 不属于Repository 体系。由于JpaSpecificationExecutor 并不继承repository 接口,所以它不能单独使用,只能和jpa Repository转载 2016-09-06 13:26:00 · 3326 阅读 · 0 评论 -
hibernate 注释 唯一键约束 uniqueConstraints
@Table 注解包含一个schema和一个catelog 属性,使用@UniqueConstraints 可以定义表的唯一约束。如果是联合约束就用下面这种@Table(name="tbl_sky", uniqueConstraints = {@UniqueConstraint(columnNames={"month", "day"})})如果是单一字段约束可以用转载 2016-09-22 10:16:33 · 27950 阅读 · 1 评论 -
Spring IOC与AOP的理解
spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 5.容器提供了众多的辅助类,能加快应用的开发 6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等转载 2017-04-25 14:20:27 · 465 阅读 · 0 评论 -
使用EntityManager批量保存数据
@PersistenceContextEntityManager em;从别的系统中定期同步某张表的数据,由于数据量较大,采用批量保存JPA EntityManager的四个主要方法① public void persist(Object entity)persist 方法可以将实例转换为 managed( 托管 ) 状态。在调用 flush() 方法或提交事物后,实例将会原创 2017-04-25 17:38:32 · 18567 阅读 · 0 评论 -
Hibernate Annotation配置主键生成策略
通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为@Id其生成规则由@GeneratedValue设定的,这里的@Id和@GenertedValue都是JPA的标准用法JPA提供的四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTOTABLE:使用一个特定的数据库表格来保存主键SEQUEN转载 2017-06-21 10:19:13 · 304 阅读 · 0 评论 -
看完让你彻底搞懂Websocket原理
偶然在知乎上看到一篇回帖,瞬间觉得之前看的那么多资料都不及这一篇回帖让我对 websocket 的认识深刻有木有。所以转到我博客里,分享一下。比较喜欢看这种博客,读起来很轻松,不枯燥,没有布道师的阵仗,纯粹为分享。废话这么多了,最后再赞一个~一、websocket与httpWebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持转载 2017-06-28 10:13:27 · 786 阅读 · 0 评论