从零写一个具有IOC-AOP-MVC功能的框架---学习笔记
打造一个具有建议IOC,AOP,MVC功能的框架
github地址:https://github.com/wuyiccc/helloframework
无衣ccc
哥哥姐姐们,能动动你们发财的小手指帮我的笔记点个赞吗!
展开
-
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---12.Hello Framewok框架初步使用介绍(测试)+未来计划展望
1. 框架功能的使用 1.1 编写controller类 1.1.1 需要完成的controller代码如下: package test.demo.controller; import com.wuyiccc.helloframework.core.annotation.Controller; import com.wuyiccc.helloframework.injection.annotation.Autowired; import com.wuyiccc.helloframework.mvc.an原创 2020-07-15 23:41:52 · 474 阅读 · 1 评论 -
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---11. MVC功能之http请求处理器的编写---简易框架最后一公里!
1. 本章需要完成的内容: 完成ControllerRequestProcessor类的编写: Controller请求处理器 完成JspRequestProcessor类的编写:jsp资源请求处理 完成PreRequestProcessor类的编写: 请求预处理,包括编码以及路径处理 完成StaticResourceRequestProcessor类的编写: 静态资源请求处理,包括但不限于图片,css,以及js文件等, 转发到DefaultServlet 2. PreRequestProcess原创 2020-07-15 21:49:05 · 760 阅读 · 1 评论 -
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---10. MVC 结果渲染器的编写
1. 本章需要完成的内容 完成请求处理器接口RequestProcessor的编写 完成ResultRender渲染器接口的编写 完成DefultResultRender默认渲染器类的编写 完成InternalErrorResultRender内部异常渲染器类的编写 完成JsonResultRender Json渲染器类的编写 完成ResourceNotFoundResultRender 资源未找到时使用的渲染器类编写 完成ViewResultRender 页面渲染器类的编写 完成DispatcherS原创 2020-07-15 18:53:16 · 1817 阅读 · 0 评论 -
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---09. MVC访问流程简介及部分类的编写
1. MVC 实现思路简介 2. 整体框架搭建 2.1 MVC前置依赖配置 2.2 编写MVC相关信息存储类 2.2.1 编写ControllerMethod类 该类主要存储Controller类和其具有的方法实例,方法参数的映射 2.2.2 编写ModelAndView类 该类主要存储处理完后的结果数据,以及显示该数据的视图路径 2.2.3 编写RequestMethod枚举类 该类主要存储我们方法所限制的请求方法的类型 2.2.4 编写RequestPathInfo类原创 2020-07-15 10:08:17 · 245 阅读 · 0 评论 -
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---08.框架的AOP功能和IOC功能测试
1. 本章内容 在这一章我们会对框架的IOC以及AOP的功能进行测试 2. 编写相关的测试类 2.1 编写我们需要被增强的类:AspectTarget 2.1.1 需要完成的代码如下 package com.wuyiccc.demo.aop; import com.wuyiccc.helloframework.core.annotation.Component; import lombok.extern.slf4j.Slf4j; /** * @author wuyiccc * @date 2原创 2020-07-14 16:32:35 · 223 阅读 · 0 评论 -
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---07. AOP功能实现以及讲解
1. 本章需要完成的内容 完成AspectListExecutor类的编写 完成AspectWeaver类的编写 完成PointcutLocator类的编写 完成ProxyCreator类的编写 2. 完成PointcutLocator类的编写 2.1 需要完成的代码如下: package com.wuyiccc.helloframework.aop; import org.aspectj.weaver.tools.PointcutExpression; import org.aspectj.we原创 2020-07-14 15:03:48 · 364 阅读 · 0 评论 -
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---06. AOP前置工作准备以及实现逻辑分析
1. AOP实现思路简介 我们在实现AOP时主要用到两个工具库:cglib和AspectJ, cglib是作为我们框架底层的真正动态代理的实现工具,然后我们还需要用AspectJ的切面语法来为指定类进行动态逻辑的增强 最后完成时AOP的使用方式 2. 实现AOP之前需要的准备工作: 完成相关依赖的导入 3. 实现AOP整体架构搭建:完成相关类的创建 3.1 创建@Order注解 该注解的功能是标记Aspect切面类的优先级, 因为我们对同一个类,可能会有多个Aspect类对其进行增强,那么我原创 2020-07-14 09:34:05 · 263 阅读 · 0 评论 -
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---05. 实现容器的依赖注入
1. 实现思路及需要完成的内容 实现思路 定义相关的注解标签 实现创建被注解标记的成员变量实例,并将其注入到被@Autowired标记的成员变量中 需要完成的内容 编写ClassUtil#setField方法为对应的实例设置属性值 编写@Autowired注解 编写DependencyInjector实现属性的依赖注入 2. 第一部分: 编写@Autowired注解和ClassUtil#setField方法 2.1 本部分需要完成的代码如下: package org.myframework.原创 2020-07-13 15:53:55 · 257 阅读 · 0 评论 -
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---04.容器的创建以及容器成员的增删查改
1. 本节需要完成的内容 新建@Aspect注解 增加ClassUtil#newInstance方法来通过Class对象新建一个真正的实例对象 增加ValidationUtil类作为参数校验类 编写BeanContainer类以及其内部方法: 完成容器的创建以及增删查改操作 2. 第一部分工作 2.1 该部分需要完成的内容: 新建@Aspect注解 增加ClassUtil#newInstance方法 编写@ValidationUtils校验类 2.2 新建@Aspect注解 说明: 因为我们后原创 2020-07-13 14:40:37 · 260 阅读 · 0 评论 -
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---03.获取指定包下的类---ClassUtil工具类的编写
1. 本节需要完成的任务 完成对指定包下以及其子包下所有类的获取的工具类的编写 2. 项目配置 2.1 进行pom文件的相关配置 2.2 安装lombok插件 2.3 指定maven-compiler-plugin插件的相关配置 3. ClassUtil类中相关方法的编写 3.1 需要完成的代码如下 package com.wuyiccc.helloframework.util; import lombok.extern.slf4j.Slf4j; import java.io.File; im原创 2020-07-13 10:10:54 · 580 阅读 · 0 评论 -
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---02.IOC核心标签创建
1. IOC容器实现步骤 创建对应的IOC注解 提取标记对象 实现容器 依赖注入 2. 注解标签的创建 2.1 需要完成的内容: 分别创建@Component, @Controller, @Repository, @Service四个注解,并且分别打上@Target(ElementType.TYPE)和 @Retention(RetentionPolicy.RUNTIME)注解 2.2 如图所示: 2.3 解释: 熟悉Spring Framework的同学肯定都不会对这四个注解以及其功能感原创 2020-07-12 21:10:48 · 321 阅读 · 0 评论 -
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---01.项目初始化
1. 环境介绍 编译环境:JDK1.8 IDE: IntelliJ IDEA Maven3.5.4 2. 项目初始化原创 2020-07-12 21:10:04 · 302 阅读 · 0 评论