Skip to content

Releases: vfdxvffd/Summer

v1.2 适配数据访问模块

27 Nov 10:04
86b9579
Compare
Choose a tag to compare

对于数据访问模块做一些适配操作,增加获取标注了某个注解所有的类的方法以及获取beanDfination的方法

v1.1 增加配置类的添加

24 May 09:41
Compare
Choose a tag to compare
  • 增加@configuration@bean两个注解,可以通过这两个注解向容器注入配置的bean
  • 对于@configuration注解可以通过指定proxyBeanMethods属性的true或者false来表示是否代理配置类,如果代理则标注了@bean的方法返回的bean是单例的

v1.0 发布正式版本,开放对外的扩展接口

13 May 11:41
Compare
Choose a tag to compare

本次更新测试了之前的版本的稳定性,以及增加了框架的扩展性,开放出别的框架适配的接口。

  • 对之前的pre-release版本进行了多次测试以确保稳定性。
  • 框架对外开放Extension接口,该接口中的方法在ioc容器构造的多个阶段进行了切入,增加了框架的可扩展性。
  • 如何将自己的框架适配到Summer,请看如何适配summer或者可以提issues

v0.5 新引入二级缓存解决代理对象之间的循环依赖问题

15 Apr 10:30
Compare
Choose a tag to compare
  • 引入新的二级缓存来解决复现出来的循环依赖问题,主要是由于代理对象之间的循环依赖引发的问题

v0.4 增加CGLib动态代理方式,修改判断对象是否完成注入和代理的方法

10 Apr 17:29
Compare
Choose a tag to compare

本次更新加入了新功能,修改了一个已知的bug

  • 本次更新引入CGLib依赖,增加动态代理的方式,对于实现了接口的方法采用JDK动态代理来实现切面功能,对于没有实现接口的类采用CGLib来实现切面。
  • 修改bug,之前版本中的判断当前类是否已经完成了实例对象全部的创建注入工作的方法,判断没有包含所有情况。

v0.3 增加IOC构造过程中的日志记录,将标注了@Aspect注解的类加入IOC容器

22 Mar 07:21
Compare
Choose a tag to compare
  • 本次更新引入了日志依赖,增加了对ioc构造过程中的日志记录
  • 对于标注了@Aspect注解的类自动将其加入IOC容器中,不用再重复标注注解

v0.2 切面方法可以获取参数,增加一种切入方式,修复一个已知的bug

21 Mar 11:42
Compare
Choose a tag to compare
  • aop增加了一种切入方式,切面方法可以通过JoinPoint类获取被切的方法的参数、方法名、返回值类型。对于@AfterReturning的切入方式可以获取返回值,类型为Object,而@AfterThrowing可以获取抛出的异常,类型为Throwable
  • 修复了重复切入的bug

v0.1 修复了三个发现的bug, 核心代码增加了注释,优化了代码结构,抽取可重用的方法,重构了大部分冗余的代码块

20 Mar 05:33
Compare
Choose a tag to compare

本次更新主要修复了一些bug,以及优化了代码的结构

  1. 修复对于注入对象的切面方法失效的bug

  2. 修复延迟加载的对象注入失败的bug

  3. 修复对非单例的bean注入失败的bug

  4. 增加核心代码的注释。

  5. 优化代码结构,重构了大部分冗余的代码块

  6. 抽取可重用方法。

v0.0 完成基本功能

19 Mar 07:08
Compare
Choose a tag to compare
Pre-release
  1. 完成IOC容器的初步搭建

  2. 完成AOP功能的简单使用(还需修改)

  3. 支持@Component@Autowired@Qualifier@Value@Repository@Service@Controller注解的使用

    • @component(同@respository@service@controller):标注在类上,将此类注册到ioc容器中
    • @Autowired:自动注入ioc容器中的对象
    • @qualifier:自动注入ioc中对象的时候指定beanName,如不指定则按照beanType注入
    • @value:指定将类注入到容器是基本类型(包括包装类)字段的值
  4. 支持根据beanNamebeanType获取ioc中的对象

  5. 自定义类型转化异常,@Value接受String类型,如果传入的值并不能正确转化,就抛出DataConversionException异常。

  6. 增加单例模式与非单例模式的配置注解@Scope,以及增加延迟加载的配置注解@Lazy

  7. 可以使用接口来接受IOC中返回的对象

  8. AOP可以对方法进行@Before@After@AfterThrowing的切面,需要配置方法的全方法名

  9. AOP使用JDK的动态代理,set可以不添加,内部实现是直接通过设置域的可访问属性,然后直接设置值

  10. 后续计划:

    • 支持根据xml配置ioc容器中的对象
    • 对于运行过程可能发生的异常使其尽可能可控,且明确的抛出或处理
    • 对于AOP可选择性的加入CGLIB代理
    • 对于AOP一些已注入对象的代理失效bug进行修复(已定位)
    • etc... for more...