2.2.2 Redis
校园互助系统选择Redis数据库作为缓存数据库。应用软件在进行数据查询时如果每次都从数据库中查询需要的数据会话费很多时间所以就需要设计缓存来减少查询花费时间。由于Redis是一内存数据库,每秒可以处理百万次请求,如果系统查询是通过内存查询速度会比直接从硬盘是获取快很多以此就可以解决查询耗时多的问题。Redis数据库支持五种不同类型的数据结构:字符串、列表、集合、散列表、有序集合,这些数据结构可以有效的帮助用户解决问题。
2.3 相关技术介绍
Java EE发展的非常快,很多流行框架也为工程师带来方便,缩短了开发周期,当然选择合适的框架就成为项目质量,开发速度的关键。
2.3.1 Spring
Spring框架为现代基于Java的企业应用程序提供了一个全面的编程和配置模型在任何类型的部署平台上,Spring是完全开源的一个Java开发框架,可以将以前Java开发中的一些复杂的设计简化有益于提高项目进程。用Sprng框架可以将项目代码分层方便开发者管理代码后期方便项目的维护工作,开发者可以用Spring的特性去随意集成其他项目需要的框架,例如:MyBatis,Hibernate等等。Spring的一个关键因素是在应用层面的基础设施支持:Spring侧重于企业应用程序的“管道”,以便团队可以专注于应用程序级的业务逻辑,而不需要与特定部署环境的不必要的联系,Spring最特别的模块是:(AOP)面向切面编程以及(IOC)控制反转。论文网
核心容器:“核心容器给Spring框架的提供基本功能。其中BeanFactory核心容器的关键组件,实现是有工厂模式所提供。并且应用程序的配置和依赖性规范与实际的应用程序代码被控制反转(IOC)模式分离,核心容器在框架中管理者Spring应用中所有JavaBean的创建。IOC提供三种方式注入:构造函数注入、属性注入和接口注入。Spring支持构造函数注入和属性注入”[2]。
数据库的访问集成:在做Java开发时使用JDBC编写代码连接数据库会发现当中必定会产生重复操作的代码,例如加载JDBC的驱动程序,创建数据库链接,获取连接池资源,回收资源,关闭连接。这些代码都是模板性代码,使用JDBC就会发生没做一次关于数据库的操作都必定会写一次这样的代码。Spring对JDBC的操作进行了底层细节上的处理,在使用JDBC时Spring以经帮我们完成了以上复杂、重复性操作的事情,而开发者只需要写好正确的SQL语句就好。
特征:
A)依赖注入
B)面向方面的编程,包括Spring的声明式事务管理
C)Spring MVC Web应用程序和RESTful Web服务框架
D)对JDBC,JPA,JMS的基础支持
Spring框架原理图
2.3.2 Spring Boot
Spring Boot可以轻松创建可以“运行”的独立的,生产级的基于Spring的应用程序。 我们对Spring平台和第三方图书馆有一个看法,所以你可以从最开始的时候开始。 大多数Spring Boot应用程序需要很少的Spring配置[15]。
特征:
A)创建独立的Spring应用程序
B)直接嵌入Tomcat,Jetty或Undertow(不需要部署WAR文件)
C)提供有意思的“启动”POM来简化您的Maven配置
D)尽可能自动配置弹簧
E)提供生产就绪功能,如指标,运行状况检查和外部化配置
F)绝对没有代码生成,也不需要XML配置
spring-boot在项目中开始使用的推荐方法是使用依赖关系管理系统
2.3.3