Skip to content

介绍

Linsir Framework 是一个基于 Spring Framework 的 Java 开发框架,旨在通过对 Spring 的合理封装,提供更简洁、更易用的 API,同时保持与 Spring 生态的完全兼容。

设计目标

1. 简化开发

Spring Framework 功能强大,但 API 相对复杂。Linsir Framework 通过门面模式(Facade Pattern)对 Spring 的核心功能进行封装,提供更简洁的 API,降低开发者的学习成本。

对比示例:

java
// Spring 原生 API - 获取泛型类型
ResolvableType type = ResolvableType.forClass(UserService.class);
ResolvableType generic = type.as(BaseService.class).getGeneric(0);
Class<?> userClass = generic.resolve();

// Linsir Framework - 更简洁的 API
Class<User> userClass = Types.getGenericType(
    UserService.class, 
    BaseService.class, 
    0
);

2. 解耦业务与框架

业务代码不应直接依赖具体的框架实现。Linsir Framework 提供了一层抽象,使得业务代码依赖于框架的抽象接口,而非具体的 Spring 类。

java
// 不推荐:业务代码直接依赖 Spring
import org.springframework.util.Assert;

public class UserService {
    public void createUser(User user) {
        Assert.notNull(user, "User must not be null"); // 与 Spring 强耦合
    }
}

// 推荐:通过 Linsir Framework 解耦
import com.linsir.core.lang.Assert;

public class UserService {
    public void createUser(User user) {
        Assert.notNull(user, "User must not be null"); // 依赖抽象
    }
}

3. 企业级最佳实践

沉淀企业开发中的最佳实践,提供常用工具类和设计模式的标准实现,避免重复造轮子。

核心特性

  • 类型系统封装 - 简化泛型操作,解决 Java 类型擦除问题
  • 反射工具封装 - 提供安全的反射操作 API
  • 资源访问封装 - 统一资源加载接口
  • 断言工具 - 简洁的参数校验
  • 字符串工具 - 常用的字符串处理方法

适用场景

  • 基于 Spring Framework 的企业级应用开发
  • 需要简化 Spring API 使用的项目
  • 希望降低与 Spring 耦合度的项目
  • 需要统一工具类使用的团队

版本要求

  • JDK: 17+
  • Spring Framework: 6.1.5+
  • Spring Boot: 3.2.4+

下一步

基于 Apache 2.0 许可发布