![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 86
谈谈IT
独立IT博客【谈谈IT】tantanit.com博主。
展开
-
高效Java技巧之尽可能使用枚举代替常量
有些类型的数据是可枚举的,比如一年的春夏秋冬四季、一年的十二个月、一周的七天,以及应用中其它可枚举的数据。有些代码中习惯使用常量来表示这些可枚举的数据,分为以下两种:int常量String常量 public static final int APPLE_FUJI =0; public static final int APPLE_PIPPIN =1; public static final int APPLE_GRANNY_SMITH = 2; public static f原创 2021-09-05 10:47:14 · 783 阅读 · 0 评论 -
Effective Java第二版笔记之使用私有构造器或枚举实现单例
什么是单例单例是指只会初始化一次,因而最多只会有一个实例的类。单例一般用来表示本质上只有一个的组件。比如操作系统中的窗体管理器和文件系统等。单例类具备哪些要求在使用单例时,需要考虑以下几点:访问权限控制,应当使用私有属性或方法生成实例反射攻击(防止通过反射调用私有属性或方法,生成新的实例)反序列化问题(防止多次反序列化生成多个不同的实例)线程安全(防止不同线程生成多个不同的实例)是否使用延迟加载,只在需要的时候才生成实例如果不考虑延迟加载的问题,枚举是实现单例的最佳选择。下面以一个完原创 2021-09-05 10:45:51 · 111 阅读 · 0 评论 -
Effective Java第二版笔记之考虑使用静态工厂方法代替构造器
创建对象最直接的想法就是通过new调用构造器,其实大多数情况下应当通过自己写一个静态公有方法,返回类的实例,比如下面这个方法: public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE;}和直接使用构造器相比,使用静态工厂方法具有以下优点:静态工厂方法可以根据用途自己定义名称(不必与类相同),可读性更强静态工厂方法可能不用在每次调用时都创建新对象静态工厂方法可以返回声明原创 2021-09-05 10:44:43 · 86 阅读 · 0 评论 -
Spring MVC之使用Freemarker
Freemarker是使用比较广泛的模板,本文介绍如何使用Spring集成Freemarker,并提供完整实例进行演示。代码结构如下:代码结构定义Freemarker视图解析器和其它web应用一样,我们可以在WebMvcConfigurerAdapter定义ViewResolver(视图解析器),这里通过子类WebConfig来实现:@Configuration@EnableWebMvc@ComponentScan("tantanit.web")public class WebConfig原创 2021-09-05 10:40:52 · 754 阅读 · 1 评论 -
Spring MVC之使用Apache Tiles
有时候,一些页面会共用同样的布局,比如相同的头部菜单或者底部内容,可以将重复的内容抽取出来,写在单独的文件里,而每个页面在适当的地方引入这些文件。但是即使这样,也还是显得繁琐,而且一旦布局变化(比如头部的菜单移动到侧边栏),每个文件也都要改。而使用Apache Tiles,可以将方便地重复使用布局模板,由于布局间可以继承,对布局变化的处理也更加方便。定义Tiles视图解析器下面代码是继承自WebMvcConfigurerAdapter的WebConfig类,在其中定义了TilesConfigurer和T原创 2021-09-05 10:39:36 · 147 阅读 · 0 评论 -
Spring in Acton 4读书笔记之使用Thymeleaf
JSP的缺陷尽管JSP历史悠久、应用广泛,但它有以下缺陷:尽管看起来像,但既不是HTML,也不是XMLJSP标签库使文档格式不友好如果JSP标签没有在服务端正确编译后发给浏览器,浏览器由于不理解JSP标签,渲染的结果是一个灾难JSP标准和servlet耦合,所以JSP只能用于基于servlet的web应用视图。像email或者不基于servlet的web应用就无法使用JSP由于JSP有以上缺陷,许多模板试图取代JSP,而其中Thymeleaf是一个令人兴奋的选择。Thymeleaf自然,不依原创 2021-09-05 10:37:27 · 94 阅读 · 0 评论 -
Spring in Acton 4读书笔记之视图解析
什么是视图解析浏览器只识别静态的html文件。MVC中,controller并不直接生成html文件,而只负责为model填充数据,然后将model转给视图(view)。并且controller只知道视图的逻辑名称,并不负责视图的内容。这样,就将转发请求和解析视图这两件事在Spring MVC中进行了解耦。controller和view之间的耦合只在于对model中数据的定义。由于controller只提供了视图的逻辑名称,Spring要知道怎样渲染视图,就需要视图解析器的帮助。视图解析器定义了视图模板原创 2021-09-05 10:30:30 · 74 阅读 · 1 评论 -
Spring in Acton 4读书笔记之Spring MVC高级配置
上一篇文章中讲解了Spring MVC的基础配置,本文对应Spring in Action(Spring实战)第四版第七章中(7.1.1 Customizing DispatcherServlet configuration)和(7.1.2 Adding additional servlets and filters)的内容,将讲解如何自定义Spring MVC的配置。如同在上一篇文章所介绍的,任何继承了AbstractAnnotationConfigDispatcherServletInitialize原创 2021-09-05 10:27:36 · 84 阅读 · 0 评论 -
Spring MVC的基础配置
配置DispatcherServletDispatcherServlet是Spring MVC的核心,它负责接收request,并且决定request将转给哪个组件。历史上,包括DispatcherServlet的servlet是web.xml文件配置,而web.xml文件包含在war里。现在仍然可以用这种方式进行配置,但更好用的方式是使用java文件来配置servlet容器中的DispatcherServlet。任何继承了AbstractAnnotationConfigDispatcherServle原创 2021-09-05 10:26:17 · 204 阅读 · 0 评论 -
Spring in Action 4读书笔记之Spring MVC中请求的处理流程
我计划完成 50 到 100 篇有关 Spring 的文章,这是第十四篇。本文对应Spring in Action(Spring实战)第四版第五章的5.1.1(5.1.1 Following the life of a request),将讲述Spring MVC中请求的流程。每当用户在浏览器点击链接或者提交表单的时候,就会生成一个request。request就像一个邮差,负责将信息从一个地方地方传递到另一个地方。request很忙,它从离开浏览器开始,一直到跟着response返回到浏览器结束,会经原创 2021-09-05 10:21:49 · 95 阅读 · 1 评论 -
Spring in Acton 4读书笔记之使用AOP为类动态添加方法
我计划完成50到100篇有关Spring的文章,这是第十三篇。本文对应Spring in Action(Spring实战)第四版第四章中(4.3.4 Annotating introductions)的内容,将讲解如何使用标签为类动态添加方法。一些像Ruby和Groovy这样的语言,有开放类(open classes)的概念,可以在不改变类和对象的定义的情况下,增加新的方法。不幸的是,Java没有那么动态,一旦一个类编译好之后,很难再为这个类增加功能了。但是仔细想想,使用AOP的时候,难道不是在动态增加原创 2021-09-04 23:35:40 · 302 阅读 · 1 评论 -
Spring in Acton 4读书笔记之使用AOP监听函数的参数
在上一篇文章Spring in Action 4 读书笔记之使用标签创建 AOP中讲解了如何使用标签定义aspect,本文继续进行这部分内容。如前所述,Spring的AOP都是作用在方法级别,有时候,需要监听函数的参数,本文讲解如何根据不同的参数值,执行不同的行为。比如下面的代码,记录不同参数执行的次数。定义aspectpackage soundsystem;import java.util.HashMap;import java.util.Map;import org.aspectj.lang.原创 2021-09-04 23:34:30 · 159 阅读 · 0 评论 -
《Spring in Acton》第四版读书笔记之如何装配Bean
Spring中装配的主要方式XML显式配置Java显式配置使用Java隐式扫描bean并自动装配三种方式各有好处,作者认为选哪种只是口味问题,但强烈建议使用第三种(使用Java隐式扫描bean并自动装配),并且建议即使要用显式配置,也尽量使用Java配置,因为Java更好用(powerful),具有类型安全检查,并且更好重构。只有在XML有命名空间可以很方便使用,而JavaConfig...原创 2020-02-15 14:37:45 · 99 阅读 · 0 评论 -
Spring in Action 4读书笔记之使用标签创建AOP
原文链接地址:http://tantanit.com/springinaction4-du-shu-bi-ji-zhi-shi-yong-biao-qian-chuang-jian-aop/在之前的读书笔记Spring in Acton 4读书笔记之AOP原理及Spring对AOP的支持中,讲到Spring对AOP的支持包含四方面:Spring基于代理的经典的AOP使用XML配置将纯POJO转...原创 2016-11-08 06:06:53 · 194 阅读 · 0 评论 -
《Spring in Action》第四版第一章《将Spring付诸实践》读书笔记(二)
原文链接地址:http://tantanit.com/springinaction-di-si-ban-di-yi-zhang-jiang-spring-fu-zhu-shi-jian-du-shu-bi-ji-er/ Spring in Action(Spring实战)的这一章是对Spring进行概述,讲述了Spring的项目宗旨,基本原理和关键策略。并且对Spring框架进行了概览,比较Spr原创 2016-10-23 21:24:50 · 920 阅读 · 0 评论 -
《Spring in Action》第四版第一章《将 Spring 付诸实践》读书笔记(一)
Spring的宗旨和关键策略原文链接地址:http://tantanit.com/springinaction-di-si-ban-di-yi-zhang-jiang-spring-fu-zhu-shi-jian-du-shu-bi-ji-yi/ Spring in Action(Spring实战)的这一章是对Spring进行概述,讲述了Spring的项目宗旨,基本原理和关键策略。并且对Sprin原创 2016-10-23 21:19:07 · 1288 阅读 · 0 评论