快速开始
本指南将帮助你在几分钟内开始使用 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> {}
}