1.DI(依赖注入)
以往的程序大多耦合性太大:在B的构造函数中构建了一个A的对象,这样B就对A产生了依赖。
public class A
{
}
public class B
{
A a;
public B()
{
a = new A();
}
}
我们可以对其改造:
改造一:通过构造函数注入
public class A
{
}
public class B
{
A a;
public B(A a)
{
this.a = a;
}
}
改造二:通过set属性注入
public class A
{
}
public class B
{
A a;
public void setA(A a)
{
this.a = a;
}
}
这样,A和B之间耦合性解除,通过容器进行DI。
2.AOP(面向切面编程)
类似于Asp.net 的管道的概念,例如对于同一个HTTP请求,我们可以通过监听器或者过滤器实施切入,在某个位置接管HTTP请求,并采取一定的处理,可以决定是否继续管道链,或者直接返回。
3.MyBatis--一种ORM数据库操作框架
通过ORM进行数据库到POJO的映射,映射关系是通过XML配置文件或者注解建立的。实际上,在操作的时候,程序员是直接操作一个接口的,这个接口中含有相关的增删改查方法,每个方法对应着XML配置中的一个Mapper.XML文件,里面包含着真实的SQL语句。MyBatis的优势就是可以自定义SQL语句,实现代码优化,同时,SQL语句是通过XML配置的,修改起来比较方便。
扫描二维码关注公众号,回复:
4145075 查看本文章
4.Spring MVC
AOP、DI等技术的实现,使得基于Spring的MVC三维设计具备良好的结构范式。
Model是领域模型,数据操作逻辑,数据持久化等一系列操作均属于Model范畴
View是有关JSP界面显示相关的。(替代方案为Html5+CSS3+JS)
Controller是专门截取HTTP请求并进行分发处理的模块,这里涉及到业务逻辑的调用,数据持久化的调用等等。
5.Redis缓存数据库
Redis是一种内存级别的数据库,缓存在内存中,所以操作速度要比硬盘持久化要快。适合一些经常需要读取的数据的临时存储。NoSQL的流行,使得Redis技术得以发展。
响应速度快:每秒可执行110000次写操作或者81000次读操作。
操作原子性:Redis事务保证操作的原子性。
缓存、消息队列得心应手,短期数据、临时数据保存,支持高并发。