介绍
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+