Spring
文章平均质量分 88
西楚小羽的窝窝
奔跑吧,程序猿
展开
-
Spring MVC Restful构建中静态资源访问问题
在构建Spring MVC Restful风格的应用时,由于在web.xml中: story org.springframework.web.servlet.DispatcherServlet 1 story / 拦截了所有的请求,当然也包括对静态资源的请求拦截,如页面对image,css,js文件的引用,但是并没转载 2016-08-15 16:49:12 · 1802 阅读 · 0 评论 -
Spring JdbcTemplate使用别名传参(NamedParameterJdbcTemplate)
在使用JdbcTemplate时,一般传参都是用的?来绑定参数,但是对于某种情况就不适用了,例如Sql中如果存在IN,那么写SQL的时候就会比较麻烦,例如,咱们要查ID在某个范围内的数据,一般情况下咱们这么写:List ids = new ArrayList();ids.add("id1");ids.add("id2");ids.add("id3");String sql = "SEL原创 2016-08-12 14:24:57 · 6983 阅读 · 0 评论 -
JSON请求后默认发送布尔默认值false
JSON请求如下: { "firstName": "Test", "lastName": "1", "isActive": 1 }持久化对象isActive如下: private boolean isActive;Controller如下:@RequestMapping(value = "/{id}", method = RequestMethod.GET) pub原创 2016-08-01 21:00:13 · 4609 阅读 · 0 评论 -
spring mongodb中去掉_class列
调用mongoTemplate的save方法时, spring-data-mongodb的TypeConverter会自动给document添加一个_class属性, 值是你保存的类名. 这种设计并没有什么坏处. spring-data-mongodb是为了在把document转换成Java对象时能够转换到具体的子类. 但有时候我们并不希望出现这个字段, 主要是看上去会比较"烦". 可以通过设置M原创 2016-08-12 18:49:30 · 6716 阅读 · 1 评论 -
spring data mongodb学习以及为repository提供可扩展的自定义方法
Spring Data 概述Spring Data : Spring 的一个子项目。用于简化数据库访问,支持NoSQL 和 关系数据存储。其主要目标是使数据库的访问变得方便快捷。SpringData 项目所支持 NoSQL 存储:MongoDB (文档数据库)Neo4j(图形数据库)Redis(键/值存储)Hbase(列族数据库)SpringData 项目所支持的关系数原创 2016-08-08 15:22:32 · 19143 阅读 · 5 评论 -
Spring Data JPA
先介绍一个基于注解配置简单的demopackage nd.sdp.lcreporting.config;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.contex原创 2016-08-14 20:53:47 · 732 阅读 · 0 评论 -
springmvc执行流程以及对spring应用上下文webApplicationContext理解
Spring MVC DispatcherServlet 读取 xml 配置文件的原则:{servlet-name} ==> /WEB-INF/{servlet-name}-servlet.xml如果你不想用 SpringMVC 的使用原则,可以重新配置 SpringMVC DispatcherServlet 在 web.xml 文件中: my-dispat原创 2016-08-15 13:58:50 · 1225 阅读 · 0 评论 -
Spring BeanUtils.copyProperties和apache commons-beanutils
业务系统中经常需要两个对象进行属性的拷贝,不能否认逐个的对象拷贝是最快速最安全的做法,但是当数据对象的属性字段数量超过程序员的容忍的程度,代码因此变得臃肿不堪,使用一些方便的对象拷贝工具类将是很好的选择。性能对比: BeanCopier > PropertyUtils > BeanUtils. 其中BeanCopier的性能高出另外两个100数量级。目前流行的较为公用认可的工具类:原创 2016-09-06 16:20:28 · 7020 阅读 · 3 评论 -
spring-ldap学习(二)
上一篇介绍了搭建ldap服务,通过GUI风格的ldapsoft ldap admin tool去连接ldap服务端以及介绍了spring-ldap的增删改查,本文将介绍spring data 式的风格去编码,使代码更加简洁,之前也写过一篇spring data mongodb,点击这里查看 spring data mongodb学习以及为repository提供可扩展的自定义方法首先我们通过l原创 2017-05-20 15:06:13 · 2740 阅读 · 0 评论 -
spring security4学习(一)
本文将分别介绍注解和xml的方式来使用spring security ,通过一个人简单的demo来演示对url访问进行验证。因为我用的是gradle来构建项目,先看一下gradle依赖项。第一步:创建Spring Security Java 配置类。@Configuration@EnableWebSecuritypublic class SecurityConfig e原创 2017-05-24 11:09:46 · 665 阅读 · 0 评论 -
spring-ldap学习(一)
1、搭建ldap服务,我用的系统是Ubuntu14.04,具体可以参考这篇文章:ubuntu14.04搭建ldap服务,按照步骤来没什么问题。 安装之后访问地址为:http://10.8.12.147/phpldapadmin/ name: cn=admin,dc=dianrong,dc=com password: 1234562、安装ldapsoft ldap admin tool,官原创 2017-05-18 15:39:36 · 3920 阅读 · 1 评论 -
使用 CXF 开发 REST 服务
REST 全称是 Representational State Transfer(表述性状态转移),它是 Roy Fielding 博士在 2000 年写的一篇关于软件架构风格的论文,此文一出,威震四方!许多知名互联网公司开始采用这种轻量级 Web 服务,大家习惯将其称为 RESTful Web Services,或简称 REST 服务。那么 REST 到底是什么呢?REST 本质上是转载 2017-06-05 16:48:04 · 1090 阅读 · 0 评论 -
基于Spring MVC(REST API)做单元测试(mockito)
最近在公司用的Spring Mvc REST API框架做了一个项目,并且做了基于Spring的单元测试,今天先讲一下基于Spring框架的单元测试,测试使用的是Spring自带的test组件,再结合Mockito一起编写测试案例,以下示例会包括Controller和Service,由于Repository没有自己的逻辑,所以这里就不涉及Repository的单元测试。首先看一下RestCon原创 2016-08-05 10:29:46 · 11708 阅读 · 1 评论 -
spring security4学习(二)spring-boot结合spring security实现http basic Authentication
HTTP Basic Authentication基本认证机制HTTP为认证提供了一种原生工具。尽管我们可以在HTTP的认证形式和cookie的基础上运行自己的认证工具,但在很多情况下,HTTP的原生认证功能就可以很好的满足要求HTTP的质询/响应认证框架简化的质询/响应认证框架:分为四步-请求、质询、认证、成功 认证协议与首部认证协议是在HTTP认证首部中指定的。原创 2017-06-26 11:00:07 · 2569 阅读 · 0 评论 -
spring中ApplicationContextAware接口
一、这个接口有什么用?当一个类实现了这个接口(ApplicationContextAware)之后,这个类就可以方便获得ApplicationContext中的所有bean。换句话说,就是这个类可以直接获取spring配置文件中,所有有引用到的bean对象。二、怎么使用这个接口?例如我有一个方法类AppUtil,这个方法类中需要使用到的ApplicationContext中的某个bea原创 2016-08-21 20:05:16 · 1533 阅读 · 0 评论 -
spring cron表达式
Cron表达式是一个字符串,字符串以5或6个空格隔开,分开工6或7个域,每一个域代表一个含义,Cron有如下两种语法 格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year 或 Seconds Minutes Hours DayofMonth Month DayofWeek 每一个域可出现的字符如下:代码S转载 2016-08-09 18:33:05 · 406 阅读 · 0 评论 -
结合spring进行异常封装
java为我们提供了非常完美的异常处理机制从上面这幅图可以看出,Throwable是java语言中所有错误和异常的超类(万物即可抛)。它有两个子类:Error、Exception。 其中Error为错误,是程序无法处理的,如OutOfMemoryError、ThreadDeath等,出现这种情况你唯一能做的就是听之任之,交由JVM来处理,不过JVM在大多数情况原创 2016-08-16 13:05:44 · 2274 阅读 · 0 评论 -
Spring MVC 4 RESTFul使用@RestController
使用 Spring Java配置而不使用XML。使用 pom.xml 更新所需的依赖:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/原创 2016-08-01 16:56:05 · 10519 阅读 · 0 评论 -
spring构建web应用以及ModelAndView中的 model value 在JSP中的EL表达式显示null解决办法
创建一个Hello world的例子,使用Java配置。 通过对应的Java替换XML配置。以 Spring Java为基础的配置取决于Servlet 3.0 的API, 因此,我们需要包含的依赖在 pom.xml 中。 4.0.0 com.nd.sdp sdp-web-parent 0.7.0 com.nd.share compone原创 2016-08-01 11:23:04 · 3390 阅读 · 0 评论 -
Spring 注解@ResponseBody,@RequestBody,@PathVariable
一、Spring注解@ResponseBody,@RequestBody和HttpMessageConverter Spring 3.X系列增加了新注解@ResponseBody,@RequestBody @RequestBody 将HTTP请求正文转换为适合的HttpMessageConverter对象。@ResponseBody将内容或对象作为 HTTP 响应正文返回,并调原创 2016-07-30 20:14:55 · 760 阅读 · 0 评论 -
spring <context:annotation-config> 跟 <context:component-scan>诠释及区别
和 的区别: 是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的方式)上面的注解,是一个注解处理工具。除了具有的功能之外,还可以在指定的package下扫描以及注册javabean 。下面我们通过例子来详细查看他们的区别,有三个class A,B,C,并且B,C的对象被注入到A中。package com原创 2016-07-30 19:18:18 · 531 阅读 · 0 评论 -
Spring声明式事务(AOP的tx方式)
类似于上一篇,这里使用tx的方式来配置。服务类StudentService.java代码如下:package com.mysrc.service;import java.sql.Date;import java.util.List;import com.mysrc.dao.StudentDao;import com.mysrc.entity.Student;public原创 2016-04-05 14:44:52 · 1496 阅读 · 0 评论 -
Spring声明式事务(Annotation注解方式)
这里列一个小的demo工程,直接利用Spring的jdbcTemplate访问Mysql数据库。数据实体类Student.java代码如下: package com.mysrc.entity;import java.sql.Date;public class Student { private int id; private String name; private Da原创 2016-04-05 14:34:44 · 1765 阅读 · 0 评论 -
全面分析 Spring 的编程式事务管理及声明式事务管理
一、Spring 事务属性剖析事务治理至关主要。它担保了用户的每次操作都是靠得住的,即便发生了异常的情形,也不至于损坏后台数据的完整性。在 Spring 中,事务是经由进程 TransactionDefinition 接口来界定的。该接口包括与事务属性有关的方法。具体如清单1所示:清单1. TransactionDefinition 接口中的方法public interface转载 2016-04-05 00:34:22 · 498 阅读 · 0 评论 -
Spring AOP详细用法
《Spring参考手册》中定义了以下几个AOP的重要概念,结合以上代码分析如下:切面(Aspect) :官方的抽象定义为“一个关注点的模块化,这个关注点可能会横切多个对象”,在本例中,“切面”就是类TestAspect所关注的具体行为,例如,AServiceImpl.barA()的调用就是切面TestAspect所关注的行为之一。“切面”在ApplicationContext中来配置。连接原创 2015-11-24 19:35:10 · 674 阅读 · 0 评论 -
Spring IOC详细用法
1. 简介IOC-全称Inversion of Control,中文解释:控制反转。另外,IOC又称DI(全称)Dependency Injection,中文解释:依靠注入。2. 注入类型a)setter(重要)b)构造方法(可以忘记)c)接口注入(可以忘记)3. id vs. namea)name可以用特殊字符4.原创 2015-11-24 16:02:01 · 714 阅读 · 0 评论 -
SpringMVC与Freemarker的集成以及多视图解析器配置
一、Spring MVC视图解析器视图解析器的工作流程大致是这样的:Controller的某个方法执行完成以后,返回一个视图(比如:listUser),视图解析器要做的工作就是找到某个对象来完成视图的渲染,或者跳转到其他的逻辑视图。这里的渲染对象通常就是我们的jsp文件或者我们下面用的Freemarker(例如listUser.jsp或者listUser.ftl)。渲染完成以后,将解析原创 2015-06-07 17:53:48 · 9582 阅读 · 1 评论 -
获取用户star的所有项目信息(支持分页和关键字检索)
之前做的一个项目,现在做个小结。query 关键字 可选type 项目所属类型检索条件 可选sub_type 项目所属子类型检索条件 可选language 编程语言检索条件 可选tag 标签索引条件 可选direction 排序顺序desc,asc,默认desc 可选sort created默认(按star时间)updated(按项目更新时间)stars(按stars数原创 2016-08-28 21:32:40 · 1984 阅读 · 0 评论 -
作业调度框架 Quartz
调度器核心代码:import nd.sdp.lcreporting.schedule.model.Schedule;import nd.sdp.lcreporting.schedule.service.ScheduleService;import org.quartz.*;import org.slf4j.Logger;import org.slf4j.LoggerFactory;i原创 2016-08-29 19:02:23 · 864 阅读 · 0 评论 -
testng集成spring
1、Spring的org.springframework.test.context.testng包为基于TestNG的测试用例提供了支持类:AbstractTestNGSpringContextTests对集成了Spring TestContext Framework与TestNG环境中的ApplicationContext测试支持的基础测试类进行了抽象。当你继承AbstractTestNGS原创 2017-09-30 16:58:09 · 1128 阅读 · 0 评论