自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 聊聊关于我20天极限备考通过高项这件事

聊聊关于我20天极限备考通过高项这件事

2023-12-12 20:37:05 923

原创 Spring对缓存的支持

Spring对缓存的支持缓存可以存储经常用到的信息,这样每次需要的时候,这些信息都是立即可用的。尽管Spring自身并没有实现缓存解决方案,但是它对缓存功能提供了声明式的支持,能够与多种流行的缓存实现进行集成,Spring对缓存的支持有两种方式:注解驱动的缓存;XML声明的缓存。在本质上,使用@EnableCaching启用注解驱动缓存和使用<cache: annotation-driven>启用缓存的工作方式是相相同的,它们都会创建一个切面并触发Spring缓存注解的切点。根据所使用的注解

2021-04-23 08:27:31 162

原创 常见的NoSQl数据库

关系型数据库是主流的数据存储形式,曾作为数据持久化领域的唯一可选方案,但是现在有多种不同的数据库,每一种都代表了不同形式的数据,并提供了适应多种领域模型的功能。MongoDB:最流行的开源文档数据库之一有一些数据的最佳表现形式是文档,也就是说,不要把这些数据分散到多个表、节点或实体中,将这些信息收集到一个非规范化(也就是文档)的结构中会更有意义。尽管文档之间可能彼此有关联,但是通常来讲,文档是独立的实体。能够按照这种方式优化并处理文档的数据库称之为文档数据库。文档数据库不是通用的数据库,它们所擅长

2021-04-21 22:27:07 896

原创 对象-关系映射(ORM)

对象-关系映射持久化数据随着应用程序变得越来越复杂,对持久化的需求也变得更复杂。这里介绍三种复杂的特性:延迟加载:随着对象关系变得越来越复杂,有时候并不希望立即获取完整的对象间关系,延迟加载允许我们只在需要的时候获取数据。预先抓取:与延迟加载相对,借助于预先抓取,可以使用一个查询获取完整的关联对象。预先查询的功能可以在一个操作中将他们全部从数据库中取出来,节省了多次查询的成本。级联:更改数据库中的表时会同时修改其他表。一些可用的框架提供了这样的服务,这些服务的通用名称是对象/关系映射(ORM)

2021-04-20 21:28:36 426

原创 Spring的数据访问

Spring的数据访问Spring的目标之一就是允许我们在开发应用程序时,能够遵循面向对象原则中的“针对接口编程”,对数据访问的支持也不例外。为了避免持久化的逻辑分散到应用的各个组件中,最好将数据访问的功能放到一个或多个专注于此项任务的组件中,这样的组件通常称为数据访问对象(data access object, DAO)或Repository。为了避免应用与特定的数据访问策略耦合在一起,编写良好的DAO应该以接口的方式暴露功能。设计数据访问层的合理方式是:服务对象本身并不会处理数据访问,而是将数据访问

2021-04-19 21:23:04 133

原创 Spring Security

Spring SecuritySpring Security是一种基于Spring AOP和Servlet规范中的Filter实现的安全框架,为基于Spring的应用程序提供声明式安全保护,它能在Web请求级别和方法调用级别处理身份认证和授权。因为基于Spring框架,所以Spring Security充分利用了依赖注入和面向切面的技术。Spring Security从两个角度来解决安全性问题,它使用Servlet规范中的Filter保护Web请求并限制URL级别的访问,还能够使用Spring AOP保护

2021-04-18 21:31:03 108

原创 跨重定向请求传递数据

跨重定向请求传递数据在提交表单处理完POST请求后,通常来讲一个最佳的实践就是执行一下重定向。除了其他的一些因素外,这样做能够防止用户点击浏览器的刷新按钮或后退箭头时,客户端重新执行危险的POST请求。在控制器方法返回的视图名称中,可以借助"redirect:"。当控制器方法返回的String值以"redirect:"开头的话,那么这个String不是用来查找视图的,而是用来指导浏览器进行重定向的路径。正在发起重定向的方法该如何发送数据给重定向的目标方法呢?一般来讲,当一个处理器方法完成之后,该方法所

2021-04-16 09:00:04 224

原创 JSP和Thymeleaf

JSP和ThymeleafJSP已经存在了很长的时间,在Java Web服务器中无所不在,但是它存在一些缺陷。JSP最明显的问题在于它看起来像HTML或XML,但其实并不是。大多数JSP模板都是采用HTML的形式,但掺杂了各种JSP标签库的标签,使其变得很混乱。虽然这些标签库能够以很便利的方式为JSP带来动态渲染的强大功能,但是它也摧毁了我们想维持一个格式良好的文档的可能性。标签库和JSP缺乏良好格式的一个副作用就是它很少能够与其产生的HTML类似,在Web浏览器或HTML编辑其中查看未经渲染的JSP模

2021-04-14 21:13:17 5490 4

原创 Spring MVC基本流程

Spring MVC基于模型-视图-控制器(Model-View-Controller, MVC)模式实现,它能构建像Spring框架那样灵活和松耦合的Web应用程序。Spring将请求在调度Servlet、处理器映射、控制器以及视图解析器之间移动,每一个Spring MVC中的组件都有特定的目的,并没有看起来那么复杂。请求从离开浏览器到获取响应返回,要经历很多站,在每一站都会留下一些信息的同时也会带上其他信息。在请求离开浏览器时,会带着信息来到DispatcherServlet,这是一个前端控制器,它的

2021-04-13 22:12:22 511 1

原创 AOP面向切面编程

面向切面编程从接触Spring的第一天就接触到了面向切面编程(AOP)这个概念,可是究竟什么才是面向切面编程?它存在的意义是什么?之前提到过,在软件开发中有一些功能被散布在应用中多处,这些功能从概念上是与应用的业务逻辑相分离(但往往会直接嵌入到应用的业务逻辑中),被称为横切关注点,例如日志,安全和事务等辅助功能。把这些横切关注点与业务逻辑相分离正是面向切面编程(AOP)所要解决的问题。使用依赖注入(DI)可以管理和配置我们的应用对象,有助于应用对象之间的解耦,而AOP可以实现横切关注点与他们所影响的对

2021-04-11 22:41:38 113

原创 依赖注入和 AOP

依赖注入和 AOPSpring致力于简化企业级Java开发,促进代码的松耦合。成功的关键在于依赖注入和 AOP。依赖注入:依赖注入现在已经演变成一项复杂的编程技巧或设计模式理念,但事实上并不是十分复杂。任何一个有实际意义的应用,都会由多个类相互之间进行写作来完成特定的业务逻辑。传统情况下,每个对象负责管理与自己相互协作的对象(它所依赖的对象)的引用,这带来的问题就是高耦合以及难以测试。通过DI,对象的依赖关系将由系统中负责协调的第三方组件进行设定,对象无需自行创建或管理他们的依赖关系,依赖关系将被自动注

2021-04-03 22:33:30 827

原创 Java小知识之海王多线程

多线程程序就好像一个海王,所有线程都在它的鱼塘且互相不知道别的存在。多进程与多线程有着本质的区别,每个进程都拥有自己的一套变量,而线程则共享数据。线程最简单的3个状态分别是:New(新建),Runnable(可执行),Blocked(阻塞)。当用new创建一个线程时,这个线程还没有开始运行,它的状态便是New;一旦调用start方法,线程就会处于Runnable状态,只不过它可能在运行也可能并没有运行,它不一定始终保持运行,可能会小睡一会儿以让其他线程运行。这依赖于线程调度器,它会决定哪个线程运行哪个线程

2021-04-02 22:41:54 133

原创 Java常见几种数据结构

- **数组/数组列表:**可以使用索引很方便的访问到指定位置的数据,但有一个重大的缺陷就是在数组中间添加或删除一个元素开销很大。- **链表:**而对于链表而言能在很大程度减小这个开销,但是它失去了快速随机访问,哪怕使用get(index)方法,依旧是进行遍历访问。- **散列集:**链表和数组允许我们指定元素的次序,但是当我们想查看某个元素却又不记得它的位置就需要访问所有元素直

2021-03-26 00:10:57 213

原创 int 和 Integer

int 和 Integer以最简单的代码来看int a = 100, b =100;System.out.println(a == b); //trueInteger c = 100, d =100;System.out.println(c == d); //trueint e = 1000, f =1000;System.out.println(e == f); //trueInteger g = 1000, h =1000;System.out.println(g == h);

2021-03-24 09:07:07 738 4

原创 Java,Maven,IDEA 安装配置

一、安装Java下载 jdk8 安装包,下载地址:https://www.oracle.com/java/technologies/javase-downloads.html下拉找到 Java SE 8,点击JDK Download:点击下载Windows系统64位安装包:下载后进行安装,注意修改安装目录,安装目录要记住!打开文件资源管理器,右键单击此电脑-属性-高级系统设置-环境变量在系统变量下方点击 新建,变量名为:JAVA-HOME

2021-03-23 10:10:58 3175 18

原创 两个变量引用的对象要怎样才算相等

两个变量引用的对象要怎样才算相等?引用完全相同的对象,还是有相同状态和行为的不同对象也算?这是一个很关键的议题:引用相等性和对象相等性。引用相等性:堆上同一个对象的两个引用也就是说两个引用变量引用的就是同一个对象,hashCode()默认的行为会返回每个对象特有的的序号,大部分是根据内存位置计算的。既然本就是同一个对象,hashCode()自然是一样的,两个引用自然也是相等的对象相等性:堆上的两个不同对象在意义上是相同的理论上来说要让两个不同的对象视为相等的,首先两个对象的hashCode()

2021-03-22 19:32:38 774 5

PSD文件缩略图查看器

查看PSD文件非常不方便,安装补丁后,可以不用打开psd文件便可查看,方便快速

2019-01-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除