繁体   English   中英

Java Meta-Inf服务

[英]Java Meta-Inf Services

Java中Meta-INF服务的目的是什么?

看一下ServiceLoader文档

它旨在存储服务提供者配置文件。

服务提供者是打包为JAR的服务提供者接口的实现。

服务加载程序发现并加载服务提供程序配置文件中声明的所有实现。

配置文件是一个名为接口的完全限定名称的文件,其内容是完全限定的实现名称列表。

以下是Servlet 3.0在webapp启动时使用的javax.servlet.ServletContainerInitializer的提供程序配置文件示例。

org.apache.jasper.servlet.JasperInitializer
org.springframework.web.SpringServletContainerInitializer

在这个例子中

  • Tomcat是服务加载器;
  • javax.servlet.ServletContainerInitializer是服务提供者接口
  • 名为javax.servlet.ServletContainerInitializer的文件是服务提供者配置文件;
  • org.apache.jasper.servlet.JasperInitializer和org.springframework.web.SpringServletContainerInitializer是服务提供者

当tomcat启动webapp同时调用时

onStartup(java.util.Set<java.lang.Class<?>> types, ServletContext context)

JasperInitializer和SpringServletContainerInitializer类的元文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM