spring
scalad
github地址:https://github.com/scalad
展开
-
SpringMVC 整合 hibernate 报错:No Session found for current thread
今天在配置SpringMVC+Hibernate4 的时候 报了个No Session found for current thread上网搜集资料,大概就是以下几种解决方法在hibernate中配置sessionFactory的hibernateProperties参数里添加 thread 在spring配置转载 2015-10-04 17:46:05 · 1727 阅读 · 0 评论 -
spring mvc访问静态资源的三种方式
如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。 目的:可以正常访问静态文件,不要找不到静态文件报404。 方案一:激活Tomcat的defaultServlet来处理静态文件 default转载 2015-09-15 23:48:55 · 509 阅读 · 0 评论 -
spring-aop源码解析:declare-parent
spring-aop源码解析:declare-parent借助Aop的引入,我们可以不侵入性的改变现有的实现,对现有实现类无侵入性的增加方法。1、举个例子:Einstein从小爱发明,是个发明家,我们创建一个Einstein类,实现发明家(Inventor)接口。随着知识的积累,Einstein也成为了数学家,我们可以在不改变Eistein类的前提下使用declare-pare转载 2015-09-13 14:05:52 · 2180 阅读 · 1 评论 -
使用Spring的NamedParameterJdbcTemplate完成DAO操作
NamedParameterJdbcTemplate内部包含了一个JdbcTemplate,所以JdbcTemplate能做的事情NamedParameterJdbcTemplate都能干,NamedParameterJdbcTemplate相对于JdbcTemplate主要增加了参数可以命名的功能。public Object queryForObject(String sql, Map pa转载 2015-09-08 10:31:59 · 8222 阅读 · 0 评论 -
Spring 开启Annotation <context:annotation-config> 和 <context:component-scan>诠释及区别
Spring 开启Annotation 和 诠释及区别 和 的区别 是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的方式)上面的注解。除了具有的功能之外,还可以在指定的package下扫描以及注册javabean 。下面我们通过例子来详细查看他们的区别,有三个class A,B,C,并且B,C的对象转载 2015-09-08 16:41:58 · 464 阅读 · 0 评论 -
Spring的OpenEntityManagerInViewFilter
在Java Web项目中使用Hibernate经常会遇到LazyInitializationException 。这是因为controller和model层(java代码)将通过JPA的一些启用了延迟加载功能 的领域(如用getRefrence() 方法或者在关联关系中采用fetch=FetchType.LAZY )返回给view层(jsp代码)的时候,由于加载领域对象的JPA Session转载 2015-09-18 15:22:56 · 358 阅读 · 0 评论 -
springmvc二级缓存,查询缓存
本文所有测试用代码在https://github.com/wwlleo0730/restjplat 的分支addDB上 目前在使用spring-data-jpa和hibernate4的时候,对于缓存关系不是很清楚,以及二级缓存和查询缓存的各种配置等等,于是就有了这篇初级的jpa+hibernate缓存配置使用的文章。 JPA和hibernate的缓存关系,以及系统demo环境说明转载 2015-09-18 16:17:51 · 3427 阅读 · 0 评论 -
Spring Data与MongoDB:不协调的设计
MongoDB是一款非常知名的NoSQL文档数据库,而Spring则是Java领域著名的开源框架。除了构成Spring核心的IoC与AOP之外,Spring也有大量应用于各个不同领域的子框架,其中Spring Data就是专门针对数据处理的一个子项目。在Spring Data下有Spring Data JPA、Spring Data MongoDB、Spring Data Redis等子项转载 2015-10-12 23:37:22 · 587 阅读 · 0 评论 -
spring下的子项目
1.Spring IO PlatformSpring IO 是可集成的,构建现代化应用的版本平台。Spring IO 是模块化的,企业级的分布式系统,包括了一系列的依赖,使得开发者仅能对自己所需的部分进行完全的部署控制。Spring IO 是 100% 开源,可靠和模块化的。主要特性:一个平台,多个工作负载 - Web 构建,集成,批处理,响应式或者大数据应用转载 2015-09-14 23:25:35 · 889 阅读 · 0 评论 -
Spring 4支持的Java 8新特性一览
有众多新特性和函数库的Java 8发布之后,Spring 4.x已经支持其中的大部分。有些Java 8的新特性对Spring无影响,可以直接使用,但另有些新特性需要Spring的支持。本文将带您浏览Spring 4.0和4.1已经支持的Java 8新特性。Spring 4支持Java 6、7和8Java 8编译器编译过的代码生成的.class文件需要在Java 8或以上的Java虚转载 2015-10-09 23:23:43 · 591 阅读 · 0 评论 -
Spring拦截器
Spring Interceptors具备前处理和后处理web请求的能力,每一个拦截器类应当继承HandlerInterceptorAdapter类,你可以覆写任意preHandle(),postHandle()或afterCompletion()这三个回调方法。正如这个名字一样preHandler()方法会在处理请求之前被调用,postHandle()方法会在处理请求之后调用,而afterCom转载 2015-09-20 18:41:17 · 707 阅读 · 0 评论 -
springmvc如何拦截根目录的请求
一个东西快弄完了,就剩下一个问题,应该是个小问题。就是mvc项目的欢迎页,怎么给改下呢。这个项目是通过mvn建立的,整个项目的原型就是spring_mvc_jpa_deom_archetype。框架早早建成,即可看到效果。假如项目名称叫做mvn_mvc,其效果如下:访问根路径http://localhost:8080/mvn_mvc/自动跳转到如下路径http://localhos转载 2015-09-20 18:15:17 · 10970 阅读 · 1 评论 -
spring简化JMS异步消息
一般的RPC、RMI等机制采用的都是同步通信机制。JMS(Java Message Service)是面向异步消息而制定的标准API利用Spring的JmsTemplate可以简化JMS异步消息的发送,和消息的异步接收。通过ActiveMQ可以搭建一个强大的消息代理服务器,和一套消息代理API实现。在JMS中有两个主要的概念:消息代理(message broker)和目的地(d转载 2015-09-20 19:16:37 · 820 阅读 · 0 评论 -
spring-data-JPA和spring-data-mongodb依赖包版本冲突
项目之前用的spring-data-jpa,版本是1.1.0.RELEASE,依赖关系如下:Xml代码 dependency> groupId>org.springframework.datagroupId> artifactId>spring-data-jpaartifactId> version>1.1.0.RELEASEversion>转载 2015-09-02 20:36:58 · 3635 阅读 · 1 评论 -
spring4-2-bean配置-7-Spring表达式语言SpEL
Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言。 语法类似于 EL:SpEL 使用 #{…} 作为定界符,所有在大框号中的字符都将被认为是 SpEL SpEL 为 bean 的属性进行动态赋值提供了便利 通过 SpEL 可以实现:通过 bean 的 id 对 bean 进行引用调用方法以及引用对象中的属性计算表达式的值转载 2015-09-08 21:08:37 · 730 阅读 · 0 评论 -
Spring中的事务管理
事务简介: 事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性 事务就是一系列的动作,它们被当作一个单独的工作单元。这些动作要么全部完成,要么全部不起作用 事务的四个关键属性(ACID) 原子性(atomicity):事务室一个原子操作,有一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用 一致性(consistency转载 2015-09-08 18:52:29 · 558 阅读 · 0 评论 -
Hibernate4 No Session found for current thread原因
Hibernate4 与 spring3 集成之后, 如果在取得session 的地方使用了getCurrentSession, 可能会报一个错:“No Session found for current thread”, 这个错误的原因,网上有很多解决办法, 但具体原因的分析,却没有多少, 这里转载一个原理分析:SessionFactory的getCurrentSession并不能保证在转载 2015-08-12 23:03:32 · 566 阅读 · 0 评论 -
spring四种依赖注入
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制转载 2015-05-24 10:01:40 · 472 阅读 · 0 评论 -
[org.springframework.context.annotation.AnnotationConfigBeanDefinitionParser] are only available on
<The JVM was unable to load the native wlfileio library for the store "_WLS_AdminServer". File and paging stores will continue to function correctly. Specifically, file stores that are configured with原创 2015-04-13 09:06:54 · 5057 阅读 · 0 评论 -
Cannot create PoolableConnectionFactory (ORA-28040: No matching authentication protocol
web项目中报错,错误如下:三月 23, 2015 9:15:02 下午 org.hibernate.cfg.Environment 信息: Hibernate 3.3.1.GA三月 23, 2015 9:15:02 下午 org.hibernate.cfg.Environment 信息: hibernate.properties not found三月 23, 2015 9:原创 2015-03-23 21:16:12 · 5494 阅读 · 0 评论 -
比较完整的c3p0配置
c3p0详细配置官方文档 : http://www.mchange.com/projects/c3p0/index.html3301000false属性preferredTestQuery将被忽略。你不能在这张Test表上进行任何操作,它将只供c3p0测试使用。Default: null-->Test保留,并在转载 2015-09-02 23:21:38 · 1491 阅读 · 0 评论 -
Spring Data中手动实现Repository方法
Spring Data中Repository或者其子接口各种类型的操作都是由Spring Data的基础设施实现的,要么通过背后的实现类,要么就是通过查询执行引擎。当构建应用程序的时候,这两种场景可能会覆盖你大部分数据访问操作。但是,但某些场景下你可能需要手动实现代码。在Spring Data中,手动实现操作需要在类中遵循一定的命名规范。package com.silence.sp原创 2015-09-09 19:50:12 · 4144 阅读 · 0 评论 -
Spring AOP前置通知和后置通知
Spring AOP AspectJ:Java社区里最完整最流行的AOP框架 在Spring2.0以上的版本中,可以使用基于AspectJ注解或基于XML配置的AOP在Spring中启用AspectJ注解支持 要在Spring应用中使用AspectJ注解,必须在classpath下包含AspectJ类库:aopalliance.jar、aspectj.weaver.j转载 2015-09-06 21:01:30 · 4226 阅读 · 0 评论 -
写代码简单比较init-method,afterPropertiesSet和BeanPostProcessor
一、简单介绍1、init-method方法,初始化bean的时候执行,可以针对某个具体的bean进行配置。init-method需要在applicationContext.xml配置文档中bean的定义里头写明。例如:bean id="TestBean" class="nju.software.xkxt.util.TestBean" init-method="init">bean>转载 2015-09-05 19:45:43 · 2068 阅读 · 0 评论 -
spring4泛型注入
Spring 4.x 中可以为子类注入子类对应的泛型类型的成员变量的引用,(这样子类和子类对应的泛型类自动建立关系)具体说明:泛型注入:就是Bean1和Bean2注入了泛型,并且Bean1和Bean2建立依赖关系,这样子类Bean3(继承bean1)和bean4(继承bean2)就会自动建立关系不是泛型注入:就是说Bean1和Bean2都没有注入泛型,只是建立了关系,子类Bean3(继转载 2015-09-05 21:16:42 · 2772 阅读 · 1 评论 -
spring data jpa中继承JpaSpecificationExecutor接口的接口不会被IOC容器所管理
如下,声明一个PersonRepsotory的接口,让它继承JpaSpecificationExecutor接口:public interface PersonRepsotory extends JpaSpecificationExecutor{ .... }但在项目运行的时候报错:org.springframework.beans.factory.NoSuchBeanDefiniti原创 2015-09-05 10:21:15 · 2622 阅读 · 0 评论 -
Spring配置bean的方法(工厂方法和Factorybean)
通过工厂方法配置bean 通过调用静态工厂方法创建bean 通过静态工厂方法创建bean是将对象创建的过程封装到静态方法中。当客户端需要对象时,只需要简单地调用静态方法,而不关心创建对象的细节。 要声明通过静态方法创建的bean,需要在bean的class属性里指定拥有该工厂的方法的类,通知在factory-method属性里指定工厂方法的名称,转载 2015-09-05 20:13:13 · 469 阅读 · 0 评论 -
org.springframework.dao.InvalidDataAccessApiUsageException: Name must not be null or empty!;
使用spring data jpa查询时在方法上忘了加上@Param注解,出现了一下的错误:org.springframework.dao.InvalidDataAccessApiUsageException: Name must not be null or empty!; nested exception is java.lang.IllegalArgumentException: Nam原创 2015-09-04 19:52:30 · 8365 阅读 · 4 评论 -
<context:component-scan>使用说明
在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类注册为bean注意:如果配置了那么标签就可以不用再xml中配置了,因为前者包含了后者。另外还提供了两个子标签1. 2. 在说明这两个子标签前,转载 2015-09-05 20:44:30 · 426 阅读 · 0 评论 -
表现层、持久层、业务层
为了实现web层(struts)和持久层(Hibernate)之间的松散耦合,我们采用业务代表(Business Delegate)和DAO(Data Access Object)两种模式。DAO模式为了减少业务逻辑和数据访问逻辑之间的耦合,当一个持久曾框架被应用时,该模式将会减少业务对象和该框架之间的耦合,这样我们可以不修改业务对象而选择不同的持久层框架的实现。实际上在DAO模式中包含两种结构模转载 2015-03-05 23:48:35 · 1061 阅读 · 0 评论