在Spring Boot项目中,可以通过`ResourceLoader`来获取项目根路径。具体实现如下:
```java
import org.springframework.core.io.ResourceLoader;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
@Component
public class RootPathUtil {
private static ResourceLoader resourceLoader;
@PostConstruct
public void init() {
// 注入ResourceLoader
resourceLoader = new DefaultResourceLoader();
}
/**
* 获取项目根路径
*
* @return 项目根路径
*/
public static String getRootPath() {
Path path = Paths.get(resourceLoader.getResource("").getURI());
return path.toFile().getAbsolutePath();
}
}
```
上述代码中,我们定义了一个名为`RootPathUtil`的工具类,其中包含一个静态方法`getRootPath()`用于获取项目根路径。在该方法中,我们首先通过注入`ResourceLoader`来获取项目资源的根路径,然后将其转换为文件路径并返回。
需要注意的是,在使用`ResourceLoader`获取资源路径时,需要使用`DefaultResourceLoader`类来初始化`resourceLoader`对象。另外,如果项目中存在多个模块或者子项目,可能需要对获取到的路径进行一些处理才能得到正确的项目根路径。