Skip to content

Latest commit

 

History

History
215 lines (137 loc) · 7.67 KB

File metadata and controls

215 lines (137 loc) · 7.67 KB

更新日志


  • 2021年03月20日14:04:26
  1. 解决bean循环依赖问题
  2. 添加@Scope注解,目前支持单例、原型两种作用域
  3. 一些Bug修复

  • 2021年03月17日11:28:14
  1. 修复一个bug,该Bug导致属性注入时会强制扫描所有成员并且创建包装类AopConfig
  2. 解决AutoProxyCreator的日志输出问题

  • 2021年3月16日 17:23:02
  1. 通过bean后置处理器,现在mine-spring拥有了切面编程AOP的能力,使用@EnableAspectJAutoProxy注解开启这项功能,同时支持Jdk Proxy与CGLib
  2. 完善了示例项目,现在使用jsp做演示
  3. 静态资源现在可以访问,如果找不到对应的handler,会转发到服务器默认handler(tomcat为default)
  4. 现在可以使用@Import注解在配置类导入特定的bean定义到容器中,这会在配置类解析的时候完成
  5. 更新项目文档和doc

  • 2021年3月15日 23:12:10
  1. 完成IoC容器的bean对象生命周期的各种阶段处理器功能
  2. 一些问题:Component对象现在还不能指定初始化和销毁方法,目前尚未实现InitializingBean和DisposableBean这两个接口

  • 2021年3月13日 17:02:09
  1. 删除RootBeanDefinition,简化BeanDefinition的接口实现结构,现在比较简洁
  2. @Qualifier注解允许为属性指定特定的beanName,从而避免bean类型冲突
  3. 修正Bug

  • 2021年03月08日18:55:36
  1. 好久不见,即将完成0.0.3
  2. 0.0.3的最大特性无疑是加入了前后置处理器
  3. 分工明确的容器功能接口,继承层次明确的容器抽象、具体实现,和Spring源码有所不同,加入了我的一些简化理解,具体请看wiki
  4. 提一句功能逐渐齐全的坏处:代码量竟然1W行了

  • 2021年01月19日14:30:10
  1. 看了很久Spring源码,0.0.2版本写的虽然简洁,但是结构与耦合度仍然比较乱
  2. 最近会完善beans包与context包,实现一个分工更明确、耦合度更低的IoC容器与支持注解的Context容器
  3. bean的生命周期显然是很复杂的,其中主要是各种前后处理器,0.0.3版本应该实现这些处理器
  4. 一旦实现了各种处理器,mine-spring的扩展性会增加很多,然后需要修改aop的注入方式、配置类的注入方式
  5. 蹩脚的地方删删删

  • 2020年12月01日02:23:19
  1. 项目发布到Maven主仓库上去了,现在直接添加Maven坐标就可以使用本项目,更加方便。
  2. 删除了创建示例项目的骨架,以后直接创建一个web项目然后导入本项目依赖就好了!

  • 2020年11月28日14:12:12
  1. 添加了@ResponseBody@RequestBody注解解析
  2. 重构了webmvc部分代码,把一些通用模块拆分出web包
  3. bean实例化过程中的前后置顺序处理有问题,因为目前还没有真正实现前后置处理器所以影响不大,已经更正
  4. 给所有类加了时间戳和author,方便后面维护

  • 2020年11月20日21:01:13
  1. 权衡了一下,目前该项目没必要分太多模块,于是精简了整个项目,并且重新发布了

  • 2020年11月20日18:00:28
  1. 重构了ViewResolver,现在如果需要使用webmvc功能,请配置视图解析器(就像Spring一样)
  2. ViewResolver和Spring一样支持设置prefix和suffix
  3. 现在可以正确地支持jsp和html模板了,你可以利用jsp建立页面,也可以只是用本项目提供的简易html解析功能来构建简单页面,支持el表达式
  4. 如果你添加jsp相应依赖,也可以继续使用如jstl等扩展功能
  5. 使用${revision}来统一管理项目版本,现在舒服了

  • 2020年11月19日19:15:31
  1. 把测试项目独立出来了project-test,这个项目不参与打包和部署
  2. 现在@RequestMapping可以同时对应多个映射地址了
  3. 添加了jsp模板支持,现在可以使用suffix配置项自定义模板后缀了,默认为.html
  4. 为DispatcherServlet添加了抽象父类FrameworkServlet,准备进一步剥离通用部分
  5. 优化了一下返回的异常处理页面,现在会有统一返回的异常页面
  6. 一些小细节和代码优化调整
  7. 解决了HandlerMapping重复注册的问题,现在起IoC只用beanName注册,如果使用beanClass,会进行查找对应的bean实例
  8. 现在可以支持同时指定beanName和beanClass来获取bean对象了,如果信息不符合会抛出异常。

  • 2020年11月18日23:13:37
  1. 示例项目更名为project-example

  • 2020年11月16日23:52:54
  1. mine-springframework项目的专属maven-archetype上线
  2. 现在你可以使用这个maven骨架快速创建一个基于mine-springframework的项目

  • 2020年11月15日18:40:36
  1. 将原先的dzzhyk-springframework-test项目独立出来,这样方便打包测试和部署
  2. 添加了一个独立的新模块project-test,作为当前项目的测试模块,同时也是项目示例模块

  • 2020年11月14日13:59:48
  1. 更新了context容器之后,更新了webmvc的策略,现在webmvc也可用了
  2. 模仿Spring添加了元数据支持,在scanner扫描包路径的时候会将内容扫描为元数据
  3. 添加了一个@ComponentScan注解,现在可以在配置类上添加额外的扫描包路径了
  4. 研究了一下发现启动方式还不能完全抛弃配置文件,目前还需要一个basePackage属性来告诉容器在启动的时候扫描哪个基础路径
  5. 简化了一下aop部分创建aop对象的代码,现在代理类不会代理Object的一些原生方法或者final方法
  6. 在test模块做了一下测试,mvc和aop可以正常工作
  7. scanner会扫描路径下所有类class,然后使用过滤,过滤掉不是mine-springframework组件的内容(没加相关注解的),只注册组件内容
  8. 测试了文件上传功能可以正常使用,当然请使用POST方法,否则会报错
  9. Controller的参数现在可以和Spring一样,需要用到req或者resp就拿进来,否则就不用放进来了,简化了参数

  • 2020年11月11日13:35:28
  1. 规范了一下代码,加了很多必要的注释
  2. 在代码javadoc中添加了作者信息

  • 2020年11月10日21:59:41
  1. 更新的beans模块的设计,对标Spring
  2. 更新context容器模块,拆分功能,同时还有更加规范的实现
  3. 现在,基本支持了Java配置类的解析和使用,同时可以使用@Lazy注解
  4. property文件配置方式被弃用,目前暂时只保留Java配置类配置方式

  • 2020年11月06日15:45:10
  1. 文件上传和文件下载支持
  2. 在test模块中TestController中提供了文件上传和下载的实例
  3. 简化文件上传实现

  • 2020年11月04日18:51:11
  1. @Configuration@Bean注解支持
  2. 现在可以脱离mvc使用IoC容器了
  3. BeanDefinition属性扩充
  4. 目前支持2种Bean对象实例化方式
    1. 标准反射创建
    2. 工厂类创建(用于支持注解配置类)

  • 2020年11月01日01:59:35
  1. 简化了原有的IoC容器,现在只有两个:singletonIoc和commonsIoc,其中commonsIoc是经常被使用的IoC容器

  • 2020年10月30日14:49:35
  1. 加了一个一键分模块打包脚本package.sh
  2. 更新了一下各模块的pom
  3. 现在的输出结果是分模块的jar了,使用的时候还请分模块添加,同时请注意各模块之间的依赖关系

  • 2020年10月30日13:21:35
  1. 解决了多层级包目录下Aop切面问题
  2. 解决了Controller方法无法切入问题

  • 2020年10月29日23:29:51
  1. 为了更好地开发,进行了模块拆分处理

  • 2020年10月27日23:19:58
  1. 功能优化,去除Webapps文件夹改用WebServlet注解
  2. 允许Controller返回String类型,默认自动解析到html模板
  3. 更新README.md

  • 2020年10月17日02:52:02
  1. 最初版本发布!