Spring开发
文章平均质量分 80
明天还有我
这个作者很懒,什么都没留下…
展开
-
Java任意同类型对象的复制
最近在公司做项目的时候,又用到了BeanUtils.copyProperties()这个方法来复制对象的属性值,以前也没太注意,这次才发现,原来spring和apache都提供了一个这个BeanUtils的工具类,但是apache的这个,在调用时,要求必须捕获异常,而spring则不需要,可以直接使用: A a= new A (); A old = new A(); Bean转载 2015-11-07 02:24:29 · 568 阅读 · 0 评论 -
spring的BeanUtils.copyProperties(obj1, obj2);复制对象时字段类型不一致,导致赋值不上
当用spring的BeanUtils.copyProperties(obj1, obj2);对象进行复制时,因为在obj1 类型的对象中定义的属性类型不同(set方法中用的是Integer类型,get方法中返回的是int类型): public int getNumber() { return number; } public void setNumber(Int原创 2015-11-07 15:25:27 · 16350 阅读 · 0 评论 -
解决spring 事务管理默认不支持SQLException等运行时异常
公司同事在定位一个bug时,发现spring默认的事务只支持运行时异常的回滚,对于像SQLException这样的非运行时异常,默认的事务机制不能处理,于是找了下解决的办法:1、在捕获SQLException的时候,抛出一个RuntimeException及其子类,例如:try { xxx } catch (Exception e) { throw new转载 2015-11-06 20:15:36 · 1183 阅读 · 0 评论 -
springmvc的Ajax提交问题
以前没有在项目中使用过SpringMVC,这次使用时,遇到的一个问题就是:当请求Ajax时,发现请求出现404错误,但是又执行不到controller层的代码里面去,用firebug也调试不出来。这种情况下多半是因为,我们在对Ajax进行传参时,有参数值与controller里函数的参数类型不匹配造成的,比如int类型的参数,在前端JS层没有写默认值等,这时需要做的就是仔细检查传递的参数。同时可以转载 2015-11-07 02:11:29 · 478 阅读 · 0 评论 -
spring 加载property文件的方式
最近在公司做一个小任务,其实任务不算难,但要求却特别多,今天就碰到一个:spring 加载property文件的方式。最开始做的时候,用的是:写一个class,再通过spring的配置文件去读取他,最后用El表达时,property文件中的值读到DB的配置中:Java类:Properties p = new Properties(); InputStream in = null;转载 2015-11-08 12:29:39 · 396 阅读 · 0 评论 -
BeanUtils用法
老早以前也用过spring的提供的这个BeanUtils工具类,但好久不用,就忘得差不多了,今天看到同事又用到了,就记录下来。这个工具类的主要用途是将两个同类型的两个实体的属性值进行copy。当然它里面还有别的方法,供我们使用。这里,用到它的主要场景是:同事在把一个DO实体从数据库查询出来,再新new一个实体,把所有的属性值设置成从DB中查询出来的实体(包括ID值),再对这个新实体进行保存,(实际转载 2015-11-08 23:26:29 · 394 阅读 · 0 评论 -
Spring注解详解
概述注释配置相对于 XML 配置具有很多的优势:它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。注释和 Java 代码位于一个文件中,而转载 2015-11-11 00:25:13 · 282 阅读 · 0 评论 -
Spring3中的@value注解
在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件 中的文件,进行键值对的注入,例子如下: 1 首先在applicationContext.xml中加入: Java代码 "http://www.springframework.org/schema/util" xsi:schemaLocation转载 2015-11-10 15:25:48 · 469 阅读 · 0 评论 -
Spring缓存机制的理解 @Cacheable
在Spring缓存机制中,包括了两个方面的缓存操作:1.缓存某个方法返回的结果;2.在某个方法执行前或后清空缓存。下面写两个类来模拟Spring的缓存机制:package com.sin90lzc.java.test;/** * 一个简单的Dao接口,我们要对这个接口的方法提供缓存的功能 * @author Tim * */public interface Dao {原创 2015-11-10 16:58:59 · 1024 阅读 · 0 评论 -
spring数据源配置
配置一个数据源 Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。DBCP数据源 DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖 Jakarta commons-pool对象池机制的数据库连接转载 2015-11-11 00:27:38 · 294 阅读 · 0 评论 -
spring面试题
一、spring工作原理: 1.spring mvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.3.DispatcherServlet请请求提交到目标Controller4.Controll原创 2015-11-11 09:12:04 · 415 阅读 · 0 评论 -
Spring事务的传播特性和隔离级别
事务的几种传播特性1. PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务。如果没有事务则开启2. PROPAGATION_SUPPORTS: 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行3. PROPAGATION_MANDATORY: 如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。4. PROPAGATION_原创 2015-11-11 23:47:51 · 349 阅读 · 0 评论 -
69道Spring面试题和答案
目录Spring 概述依赖注入Spring beansSpring注解Spring数据访问Spring面向切面编程(AOP)Spring MVCSpring 概述1. 什么是spring?Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并转载 2015-11-11 23:42:29 · 3320 阅读 · 0 评论 -
spring scope注解说明 singleton prototype request session global session
摘自《Spring 解密》scope用来声明IOC容器中的对象应该处的限定场景或者说该对象的存活空间,即在IOC容器在 对象进入相应的scope之前,生成并装配这些对象,在该对象不再处于这些scope的限定之后,容器通常会销毁这些对象。打个比方吧!我们都是处在社会 (容器)中,如果把中学教师作为一个类定义,那么当容器初始化这些类之后,中学教师只能局限在中学这个场景中,中学,就可以看原创 2015-11-26 16:17:37 · 1223 阅读 · 0 评论 -
spring 配置文件属性
首先 bean 属性内容:scope 属性是干吗用的? spring中 beanfactory或者 applicationContext 取得的实例 被默认为singleton,也就是默认每一个bean名称维持一个实例。scope=singleton 是默认值,通过设置scope=prototype 每次指定名称取得bean时 都会产生一个新得实例。 si原创 2015-11-26 16:44:27 · 434 阅读 · 0 评论 -
Spring注解@Component、@Repository、@Service、@Controller区别
Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控制层(Web 层)相对应。虽然目前这3 个注释和 @C原创 2015-11-26 16:09:40 · 274 阅读 · 0 评论 -
spring 有参构注入对象。
package dxm.com.test;import java.util.Date; public class SayHello {private String name;private String helloWord;private Date date;public SayHello() {// TODO Auto-generate原创 2015-11-26 16:55:26 · 365 阅读 · 0 评论 -
最简单的spring的例子
一个类文件:public class HelloBean { private String helloword; public String getHelloword() { return helloword; } public void setHelloword(String helloword)原创 2015-11-26 22:28:27 · 306 阅读 · 0 评论 -
spring 配置事务传播特性
同事帮忙的解释: -----------这段代码配置的是事务这里面配置的事务控制层主要是在service层还有个*表示的是拦截所有的方法配置事务的作用就是为了数据的完整性,避免出现脏数据我在后台如果没有用事务的原创 2015-11-26 16:51:39 · 1405 阅读 · 0 评论 -
spring Jdbc自动获取主键。
spring 搭建底层框架,本来简单的save保存对象,可是需要返回主键,那么就用一下代码实现。public Long createOrder(final Order order) throws Exception {KeyHolder keyHolder = new GeneratedKeyHolder();try {jdbcTemplate.upd原创 2015-11-26 15:10:52 · 89 阅读 · 0 评论 -
org.springframework.context.ApplicationContextAware
一、这个接口有什么用?当一个类实现了这个接口(ApplicationContextAware)之后,这个类就可以方便获得ApplicationContext中的所有bean。换句话说,就是这个类可以直接获取spring配置文件中,所有有引用到的bean对象。二、怎么用?举个例子吧:例如我有一个方法类AppUtil,这个方法类中需要使用到的ApplicationContext原创 2015-11-27 10:33:26 · 300 阅读 · 0 评论 -
SpringMVC的四个基本注解annotation(控制层,业务层,持久层) -- @Component、@Repository @Service、@Controller
SpringMVC的四个基本注解annotation(控制层,业务层,持久层) -- @Component、@Repository @Service、@ControllerSpringMVC中四个基本注解:@Component、@Repository @Service、@Controller 看字面含义,很容易却别出其中三个:转载 2015-12-29 20:49:39 · 1228 阅读 · 0 评论 -
Spring+Websocket集群实现广告消息的推送
实现每天15点给所有在线用户推送一个广告(图片或文字)或是推送一个通知之类的, 相关环境 Nginx,Spring4.2.1当前(要选择4.0+),tomcat8.x,Quartz 2.2.1集群 2014-10-31解决了集群模式下的 bug ,有兴趣的朋友可以测试一下刷新 http://sms.reyo.cn/socket.html 可以看到访问不同的服务器转载 2015-12-16 11:24:17 · 2294 阅读 · 0 评论 -
在Spring下集成ActiveMQ
1.参考文献Spring集成ActiveMQ配置Spring JMS异步发收消息 ActiveMQ2.环境在前面的一篇ActiveMQ入门实例中我们实现了消息的异步传送,这篇博文将如何在spring环境下集成ActiveMQ。如果要在spring下集成ActiveMQ,那么就需要将如下jar包导入项目:本文有两篇参考文献,因此有两个实例,项目结构如下图所示:原创 2015-12-17 00:10:30 · 335 阅读 · 0 评论 -
SpringMvc多视图整合配置教程(jsp、velocity、freemarker)
SpringMvc多视图整合配置教程(jsp、velocity、freemarker)说明一下目录结构 Spring配置文件view sourceprint?01"1.0"encoding="UTF-8"?>02 "http://www.springframework.org/schem转载 2015-12-17 10:06:03 · 136 阅读 · 1 评论 -
对IOC和DI的理解
首先说一下什么是IOC和DI,IOC是Inversion of Control(控制反转)的简写,DI是Dependency Injection(依赖注入)的简写,martinfowler对IOC的解释为:“Inversion of control is a common characteristic of frameworks, so saying that these lightwei原创 2016-01-01 12:33:07 · 338 阅读 · 0 评论 -
为什么要用IOC
1.IOC本质 Ioc(Inversion of Control)中文译名控制反转 IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转 比如: 你编写了一个业务逻辑类,但是现在必须给这个类中的所有或部分方法添加操作日志 不用IOC: 修改精力逻辑类的源代码,在所有或部分方法中添加日志操作代码 用I原创 2016-01-01 12:41:56 · 800 阅读 · 0 评论 -
springmvc请求接收参数的几种方法
springmvc请求接收参数的几种方法 通过@PathVariabl注解获取路径中传递参数代码下载地址:http://www.zuidaima.com/share/1751862044773376.htmJAVA[java] view plaincopyprint?@RequestMapping(value= " /{id}/{str} " )原创 2015-12-17 11:31:11 · 337 阅读 · 0 评论 -
spring源码分析之spring-jdbc模块详解
0 概述Spring将替我们完成所有使用JDBC API进行开发的单调乏味的、底层细节处理工作。下表描述了哪些是spring帮助我们做好的,哪些是我们要做的。Action Spring YouDefine connection parameters. XOpen the connection. X Spe原创 2015-12-01 16:00:31 · 872 阅读 · 1 评论 -
Root WebApplicationContext: initialization completed in 1039648 ms
[INFO] Scanning for projects...[WARNING] [WARNING] Some problems were encountered while building the effective model for com.redmanor.common2c:common2c-web-admin:war:0.1.0-SNAPSHOT[WARNING] 'dep原创 2016-01-19 17:00:48 · 20580 阅读 · 4 评论 -
spring调用存储过程
1.继承StoredProcedureorg.springframework.jdbc.object.StoredProcedure是对应存储过程调用的操作对象,它通过其父类org.springframework.jdbc.object.SqlCall获得相应的底层API支持(CallableStatementCreator), 然后在此基础之上构建了调用存储过程的执行方法。原创 2015-12-02 16:20:45 · 872 阅读 · 0 评论 -
spring事务模板使用
1.配置spring事务模板bean class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> *****原创 2015-12-02 16:25:34 · 749 阅读 · 0 评论 -
spring定时器分析
spring定时器如何使用?步骤1. 定义job bean 1.TaskScheduler构造 2.初始化相关服务 步骤2. 定义一个joblist bean来统一管理job原创 2015-12-02 16:37:09 · 110 阅读 · 0 评论 -
spring transaction源码分析--事务架构
1. 引言 事务特性事务是并发控制的单元,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务将逻辑相关的一组操作绑定在一起,以便服务器 保持数据的完整性。事务通常是以begin transaction开始,以commit或rollback结束。Commint表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据的更新写回到磁盘上的物理数原创 2015-12-02 11:19:39 · 499 阅读 · 0 评论 -
spring-data-redis 使用
以前使用过Jedis,后面因项目需要使用spring-data-redis,设置一个键值及其过期时间后怎么都不对。源代码:redisTemplate.opsForValue().set(key, value,100l);于是,不得不翻出api:Overwrite parts of key starting at the specified offset with given value.才发现第三个原创 2015-12-03 00:24:47 · 623 阅读 · 0 评论 -
SpringMVC REST实现入门级的CRUD
这是一个WebProject,用到的是spring-framework-3.1.1.RELEASE首先是web.xml xml version="1.0" encoding="UTF-8"?> 02web-app version="2.5"原创 2016-01-07 15:18:17 · 340 阅读 · 0 评论 -
SSH框架整合开发详解(个人笔记)
一.创建数据库并设置编码。A) create database oa default character set utf8。二.MyEclipse工程A) 在Myeclipse里创建web工程,并设置编码为utf8.B) 添加框架环境1.添加Junit4 library(Myeclipse自带)2.添加Struts2环境①所需Jar包原创 2016-01-07 15:36:36 · 496 阅读 · 0 评论 -
Maven搭建SpringMVC+Mybatis项目详解
前言 最近比较闲,复习搭建一下项目,这次主要使用Spring+SpringMVC+Mybatis。项目持久层使用Mybatis3,控制层使用SpringMVC4.1,使用Spring4.1管理控制器,数据库连接池使用druid数据源,该项数据库暂使用MySQL。1、 数据库表结构以及maven项目结构 数据表非常的简单(不是重点),如下:原创 2016-01-08 16:19:42 · 357 阅读 · 0 评论 -
Spring+javamail+velocity发送邮件
最精做到一个项目需要用到邮箱验证,所研究了一下 首先需要jar包:org.springframework.context.support-3.1.2.RELEASE.jar (封装了javamail的相关api)mail.jar; velocity-1.4.jar velocity-tools-view-1.2.jar activation.jar commons原创 2015-12-25 01:11:14 · 1436 阅读 · 0 评论 -
关于Spring的69个面试问答
这篇文章总结了一些关于Spring框架的重要问题,这些问题都是你在面试或笔试过程中可能会被问到的。下次你再也不用担心你的面试了,Java Code Geeks这就帮你解答。大多数你可能被问到的问题都列举在下面的列表中了。所有的核心模块,从基础的Spring功能(如Spring Beans)到上层的Spring MVC框架,文章中都会进行简短的讲解。看完这些面试问题,你应该看看我原创 2016-01-09 17:39:57 · 309 阅读 · 0 评论