This website requires JavaScript.

从零开始实现一个简易的Java MVC框架(七)--实现MVC

前言

标题是‘从零开始实现一个简易的Java MVC框架’,结果写了这么多才到实现MVC的时候...只能说前戏确实有点多了。不过这些前戏都是必须的,如果只是简简单单实现一个MVC的功能那就没有意思了,要有Bean容器、IOC、AOP和MVC才像是一个'框架'嘛。

Read more

从零开始实现一个简易的Java MVC框架(六)--加强AOP功能

前言

在前面从零开始实现一个简易的Java MVC框架(四)--实现AOP从零开始实现一个简易的Java MVC框架(五)--引入aspectj实现AOP切点这两节文章中已经实现了AOP功能并且引用aspectj表达式实现切点的功能,这篇文章继续完善doodle框架的AOP功能。

在前面的文章中实现的AOP功能时,目标类都只能被一个切面代理,如果想要生成第二个代理类,就会把之前的代理类覆盖。这篇文章就要来实现多个代理的功能,也就是实现代理链。

Read more

从零开始实现一个简易的Java MVC框架(五)--引入aspectj实现AOP切点

前言

在上一节从零开始实现一个简易的Java MVC框架(四)--实现AOP中我们实现了AOP的功能,已经可以生成对应的代理类了,但是对于代理对象的选择只能通过指定的类,这样确实不方便也不合理。这一节我们就利用aspectj来实现功能更强大的切点。

在spring初期的时候AOP功能使用起来也是很繁琐麻烦的,到了后面整合了aspectj才有了现在这么方便的AOP功能,比如下面这样的代码,很简便并且直观的定义了切点。

@Component
@Aspect
public class LogAspect {
	@Pointcut("execution(* com.zbw.*.service..*Impl.*(..)) && @annotation(Log)")
	public void logPointcut() {
	}

	@Before("logPointcut()")
    public void before()
    {System.out.println("Before");}
}

现在我们也来引入aspectj来实现AOP切点的功能

Read more

从零开始实现一个简易的Java MVC框架(四)--实现AOP

前言

AOP全称是Aspect Oriented Programming,叫做面向切面编程,和面向对象编程(OOP)一样也是一种编程思想,也是spring中一个重要的部分。

其实现基于代理模式,对原来的业务进行增强。比如说原来的功能是增删改查,想要不修改源代码的情况下增强原来的功能,那么就可以对原来的业务类生成一个代理的对象,在代理对象中实现方法对原来的业务增强。

而代理又分静态代理和动态代理,通常我们都是用动态代理,因为静态代理都是硬编码,不适合拿来用在实现框架这种需求里。在java中通常

Read more

从零开始实现一个简易的Java MVC框架(三)--实现IOC

Spring中的IOC

IoC全称是Inversion of Control,就是控制反转,他其实不是spring独有的特性或者说也不是java的特性,他是一种设计思想。而DI(Dependency Injection),即依赖注入就是Ioc的一种实现方式。关于Ioc和DI的具体定义和优缺点等大家可以自行查找资料了解一下,这里就不详细赘述,总之spring的IoC功能很大程度上便捷了我们的开发工作。

在实现我们的Ioc之前,我们先了解一下spring的依赖注入,在spring中依赖注入有三种方

Read more