Skip to content

快速开始

本指南将帮助你在几分钟内开始使用 Linsir Framework。

环境准备

确保你的开发环境满足以下要求:

  • JDK 17 或更高版本
  • Maven 3.6+ 或 Gradle 7+

添加依赖

Maven

在你的 pom.xml 中添加以下依赖:

xml
<dependency>
    <groupId>com.linsir</groupId>
    <artifactId>linsir-core</artifactId>
    <version>1.3.0</version>
</dependency>

Gradle

groovy
dependencies {
    implementation 'com.linsir:linsir-core:1.3.0'
}

第一个示例

1. 类型操作示例

获取类的泛型参数:

java
import com.linsir.core.reflect.Types;

public class UserService implements BaseService<User> {
    // 获取泛型类型
    Class<User> userClass = Types.getGenericType(
        UserService.class, 
        BaseService.class, 
        0
    );
    System.out.println(userClass.getName()); // com.example.User
}

2. 反射操作示例

安全地调用方法:

java
import com.linsir.core.reflect.Reflection;

public class ReflectionDemo {
    public void demo() {
        UserService service = new UserService();
        
        // 调用方法(自动处理异常)
        Object result = Reflection.invokeMethod(
            service, 
            "findById", 
            1L
        );
    }
}

3. 断言检查示例

参数校验:

java
import com.linsir.core.lang.Assert;

public class UserService {
    public void createUser(User user) {
        // 非空检查
        Assert.notNull(user, "User must not be null");
        
        // 字符串非空检查
        Assert.notEmpty(user.getName(), "Name must not be empty");
        
        // 状态检查
        Assert.state(user.isValid(), "User must be valid");
    }
}

4. 字符串操作示例

java
import com.linsir.core.lang.Strings;

public class StringDemo {
    public void demo() {
        // 检查空字符串
        boolean blank = Strings.isBlank("  "); // true
        
        // 默认值
        String result = Strings.defaultIfBlank("", "default"); // "default"
        
        // 驼峰转换
        String camel = Strings.toCamelCase("user_name"); // "userName"
        
        // 截断
        String truncated = Strings.truncate("long text", 5); // "lo..."
    }
}

完整示例项目

java
package com.example;

import com.linsir.core.lang.Assert;
import com.linsir.core.lang.Strings;
import com.linsir.core.reflect.Types;

public class QuickStartDemo {
    
    public static void main(String[] args) {
        // 1. 类型操作
        demoTypes();
        
        // 2. 字符串操作
        demoStrings();
        
        // 3. 断言检查
        demoAssert();
    }
    
    private static void demoTypes() {
        System.out.println("=== 类型操作 ===");
        
        Class<String> genericType = Types.getGenericType(
            StringList.class, 
            List.class, 
            0
        );
        System.out.println("泛型类型: " + genericType.getName());
    }
    
    private static void demoStrings() {
        System.out.println("\n=== 字符串操作 ===");
        
        String input = "  hello world  ";
        System.out.println("是否空白: " + Strings.isBlank(input));
        System.out.println("驼峰转换: " + Strings.toCamelCase("user_name"));
    }
    
    private static void demoAssert() {
        System.out.println("\n=== 断言检查 ===");
        
        try {
            Assert.notNull(null, "参数不能为null");
        } catch (IllegalArgumentException e) {
            System.out.println("捕获异常: " + e.getMessage());
        }
    }
    
    // 辅助类
    interface List<T> {}
    class StringList implements List<String> {}
}

下一步

基于 Apache 2.0 许可发布