亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

在Spring Boot中從類路徑加載文件的示例

瀏覽:96日期:2023-08-09 11:23:24

資源加載器

使用Java,您可以使用當前線程的classLoader并嘗試加載文件,但是Spring Framework為您提供了更為優雅的解決方案,例如ResourceLoader。

您只需要自動連接ResourceLoader,然后調用getResource(„somePath“)方法即可。

在Spring Boot(WAR)中從資源目錄/類路徑加載文件的示例

在以下示例中,我們從類路徑中加載名為GeoLite2-Country.mmdb的文件作為資源,然后將其作為File對象檢索。

@Service('geolocationservice') public class GeoLocationServiceImpl implements GeoLocationService { private static final Logger LOGGER = LoggerFactory.getLogger(GeoLocationServiceImpl.class); private static DatabaseReader reader = null; private ResourceLoader resourceLoader; @Autowired public GeoLocationServiceImpl(ResourceLoader resourceLoader) { this.resourceLoader = resourceLoader; } @PostConstruct public void init() { try { LOGGER.info('GeoLocationServiceImpl: Trying to load GeoLite2-Country database...'); Resource resource = resourceLoader.getResource('classpath:GeoLite2-Country.mmdb'); File dbAsFile = resource.getFile(); // Initialize the reader reader = new DatabaseReader .Builder(dbAsFile) .fileMode(Reader.FileMode.MEMORY) .build(); LOGGER.info('GeoLocationServiceImpl: Database was loaded successfully.'); } catch (IOException | NullPointerException e) { LOGGER.error('Database reader cound not be initialized. ', e); } } @PreDestroy public void preDestroy() { if (reader != null) { try { reader.close(); } catch (IOException e) { LOGGER.error('Failed to close the reader.'); } } } }

在Spring Boot(JAR)中從資源目錄/類路徑加載文件的示例

如果您想從Spring Boot JAR中的 classpath加載文件,則必須使用該resource.getInputStream()方法將其作為InputStream檢索。如果嘗試使用resource.getFile()該方法,則會收到錯誤消息,因為Spring嘗試訪問文件系統路徑,但無法訪問JAR中的路徑。

@Service('geolocationservice') public class GeoLocationServiceImpl implements GeoLocationService { private static final Logger LOGGER = LoggerFactory.getLogger(GeoLocationServiceImpl.class); private static DatabaseReader reader = null; private ResourceLoader resourceLoader; @Inject public GeoLocationServiceImpl(ResourceLoader resourceLoader) { this.resourceLoader = resourceLoader; } @PostConstruct public void init() { try { LOGGER.info('GeoLocationServiceImpl: Trying to load GeoLite2-Country database...'); Resource resource = resourceLoader.getResource('classpath:GeoLite2-Country.mmdb'); InputStream dbAsStream = resource.getInputStream(); // <-- this is the difference // Initialize the reader reader = new DatabaseReader .Builder(dbAsStream) .fileMode(Reader.FileMode.MEMORY) .build(); LOGGER.info('GeoLocationServiceImpl: Database was loaded successfully.'); } catch (IOException | NullPointerException e) { LOGGER.error('Database reader cound not be initialized. ', e); } } @PreDestroy public void preDestroy() { if (reader != null) { try { reader.close(); } catch (IOException e) { LOGGER.error('Failed to close the reader.'); } } } }

以上就是在Spring Boot中從類路徑加載文件的示例的詳細內容,更多關于spring boot 加載文件的資料請關注好吧啦網其它相關文章!

標簽: Spring
相關文章:
主站蜘蛛池模板: 浮荡视频在线观看免费 | 亚洲精品久久精品h成人 | 亚洲精品成人久久久影院 | 人成精品视频三区二区一区 | 日本黄色生活片 | 微拍秒拍99福利精品小视频 | 国产一区二区三区在线看片 | 自拍 欧美 | 国产一及片 | 亚洲国产成人综合 | 欧美精品免费线视频观看视频 | 成人夜色视频在线观看网站 | 亚洲久久网站 | 久久视频精品线视频在线网站 | 亚洲欧美激情综合首页 | 麻豆视频在线观看免费 | 全黄一级裸片视频免费区 | 欧美成人精品第一区二区三区 | 国产欧美综合在线观看第七页 | 国产成 人 色综合 亚洲 | 手机能看的黄色网址 | 久久精品国产99久久无毒不卡 | 国产大片黄在线看免费 | 毛片中文字幕 | 久久99精品综合国产首页 | 2021国产精品一区二区在线 | 国产111111在线观看 | 国产成人微拍精品 | 91精品最新国内在线播放 | 一级片 720p| 欧美a欧美1级 | 香蕉影视在线观看 | 日本高清天码一区在线播放 | 黄色福利小视频 | 国产在线短视频 | 高清亚洲 | 日韩a无v码在线播放免费 | 在线v| 在线伊人| 香港性特级黄录像片 | 国产成综合 |