Spring MVC
文章平均质量分 78
hedwig_lx
这个作者很懒,什么都没留下…
展开
-
classpath*:与classpath:的区别
Spring加载resource时classpath*:与classpath:的区别:classpath:只会到你指定的class路径中查找找文件。classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找。举个简单的例子,在web.xml中是这么定义的:classpath*:META-INF/spring/application-context.xml那么在MET...原创 2018-07-05 15:17:23 · 3064 阅读 · 0 评论 -
ShallowEtagHeaderFilter
1. 简介 ShallowEtagHeaderFilter是spring提供的支持ETag的一个过滤器,所谓ETag是指被请求变量的实体值,是一个可以与Web资源关联的记号,而Web资源可以是一个Web页,也可以是JSON或XML文档,服务器单独负责判断记号是什么及其含义,并在HTTP响应头中将其传送到客户端。如果ETag没改变,则返回状态304然后不返回,这也和Last-Modified一样。S...原创 2018-07-09 08:59:51 · 1599 阅读 · 0 评论 -
security-constraint和四种认证类型
1. <security-constraint><security-constraint> 的子元素 <http-method> 是可选的,如果没有 <http-method> 元素,这表示将禁止所有 HTTP 方法访问相应的资源。 子元素 <auth-constraint> 需要和 <login-config> 相配合使用,...原创 2018-07-06 14:19:35 · 3746 阅读 · 0 评论 -
Spring AOP 常用的四种实现方式
1. AOP的相关术语1.通知(Advice): 通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。 2.连接点(Joinpoint): 程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。 3.切入点(Pointcut) 通知定义了切面要发生的“故事”和时间,那么切入点就定义了“故事”发生的地点,例如某个类或方法的名称,Sp...原创 2018-07-06 14:04:01 · 2256 阅读 · 1 评论 -
Spring Data JPA
Spring Data JPA 框架,主要针对的就是 Spring 唯一没有简化到的业务逻辑代码,至此,开发者连仅剩的实现持久层业务逻辑的工作都省了,唯一要做的,就只是声明持久层的接口,其他都交给 Spring Data JPA 来帮你完成!下面就来了解Spring Data JPA。1. 使用 Spring Data JPA 进行持久层开发大致需要的三个步骤1.下载需要的包。需要先 下载Spri...原创 2018-07-06 11:12:47 · 109 阅读 · 0 评论 -
配置和读取多个Properties文件
1. 使用PropertyPlaceholderConfigurer类加载一个文件时:加载多个文件时:整合多工程下的多个分散的Properties文件时:其中order属性代表其加载的顺序,如果没有设置就按照加载xml文件时的顺序,而ignoreUnresolvablePlaceholders为是否忽略不可解析的Placeholder,如果配置了多个PropertyPlaceholderConfi...原创 2018-07-06 10:55:42 · 4702 阅读 · 0 评论 -
Session超时设置
Session是由浏览器和服务器之间维护的。Session超时理解为:浏览器和服务器之间创建了一个Session,由于客户端长时间(休眠时间)没有与服务器交互,服务器将此Session销毁,客户端再一次与服务器交互时之前的Session就不存在了。设置Session超时时间方式:1、方式一 在web.xml中设置session-config如下: <session-config> ...原创 2018-07-06 10:45:18 · 4225 阅读 · 0 评论 -
InitBinder
Spring可以自动封装Bean,也就是说可以前台通过SpringMVC传递过来的属性值会自动对应到对象中的属性并封装成javaBean,但是只能是基本数据类型(int,String等)。如果传递过来的是特殊对象,则需要手动进行封装。Spring提供了@initBinder(初始化绑定封装)注解和WebDataBinder工具。用户只需要向WebDataBinder注册自己需要的类型的属性编辑器即...原创 2018-07-06 10:39:37 · 1755 阅读 · 1 评论 -
异常处理
对异常的处理方法一共提供了两种:一种是使用HandlerExceptionResolver接口;一种是在Controller类内部使用@ExceptionHandler注解。使用第一种方式可以实现全局异常控制,并且Spring已经提供了一个默认的实现类SimpleMappingExceptionResolver;使用第二种方式可以在Controller内部实现更个性化点异常处理方式,灵活性更高。一...原创 2018-07-06 10:34:10 · 341 阅读 · 0 评论 -
@ModelAttribute使用详解
此注解用于注释在方法上或请求参数中,用来携带 model到显示页面进行显示。1、@ModelAttribute注释方法 如果把@ModelAttribute放在方法的注解上时,代表的是:该Controller的所有方法在调用前,先执行此@ModelAttribute方法。可以把这个@ModelAttribute特性,应用在BaseController当中,所有的Controller继承BaseCo...原创 2018-07-06 10:05:00 · 2059 阅读 · 0 评论 -
JPA和事务管理
1 事务1.1事务管理方式spring支持编程式事务管理和声明式事务管理两种方式。编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执...原创 2018-07-05 15:58:03 · 18119 阅读 · 3 评论 -
JPA
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA的宗旨是为POJO提供持久化标准规范。Hibernate3.2、TopLink 10.1.3以及OpenJPA都提供了JPA的实现。JPA定义了独特的JPQL(Java Persistence Query Language),是面向对象而...原创 2018-07-06 14:15:34 · 133 阅读 · 0 评论 -
@RequestBody和@ResponseBody和消息转换器机制原理
1、Spring3.1开始使用新的HandlerMapping 和 HandlerAdapter 来支持@Contoller 和@RequestMapping注解处理:处理器映射RequestMappingHandlerMapping和处理器适配器RequestMappingHandlerAdapter组合来代替Spring2.5 开始的处理器映射DefaultAnnotationHandlerM...原创 2018-07-06 14:15:53 · 6023 阅读 · 1 评论 -
annotation-config与annotation-driven与component-scan
1、<context:annotation-config/>与<mvc:annotation-driven/><context:annotation-config/>这个配置其实是Spring里的配置,此配置可以扫描的注解为: Spring的@Required和@AutowiredJSR 250的@PostConstruct、@PreDestroy和@Reso...原创 2018-07-05 15:37:37 · 201 阅读 · 0 评论 -
ContentType
1、常见的媒体格式类型如下: text/html : HTML格式 text/plain :纯文本格式 text/xml : XML格式 image/gif :gif图片格式 image/jpeg :jpg图片格式 image/png:png图片格式 以application开头的媒体格式类型: application/xhtml...原创 2018-07-06 14:15:07 · 895 阅读 · 0 评论 -
请求参数获取的几种方法
1、使用@PathVariable注解 @RequestMapping(value = "/{id}/{str}") public ModelAndView helloWorld(@PathVariable String id, @PathVariable String str) { System.out.println(id); System...原创 2018-07-06 14:16:07 · 2524 阅读 · 0 评论 -
通配符
"?":匹配一个字符,如"config?.xml"将匹配"config1.xml""*":匹配零个或多个字符串,如"cn/*/config.xml"将匹配"cn/javass/config.xml",但不匹配匹配"cn/config.xml";而"cn/config-*.xml"将匹配"cn/config-dao.xml"; "**":匹配路径中的零个或多个目录,如"cn/**/config.xm...原创 2018-07-06 14:16:22 · 590 阅读 · 0 评论 -
@Configuration
我们通常将用于存放配置信息的类的类名以 “Config” 结尾,比如 AppDaoConfig.java、AppServiceConfig.java 等等。我们需要在用于指定配置信息的类上加上 @Configuration 注解,以明确指出该类是 Bean 配置的信息源。并且 Spring 对标注 Configuration 的类有如下要求: 1、配置类不能是 final 的;2、配置类...原创 2018-07-09 08:59:33 · 1307 阅读 · 0 评论