Servlet3.0中实现框架整合,运行时插件

2025-04-27 15:37:15

1、Servlet容器启动会扫描应用里面每一个jar包里面META-INF/衡痕贤伎services/javax.servlet.ServletCo荏鱿胫协ntainerInitializer指定的实现类,启动并运行这个是实现的方法,SpringMVC框架启动就是采用的此种方法。新建一个ServletContainerInitializer的实现类MyServletContainerInitializer。

Servlet3.0中实现框架整合,运行时插件

2、创建一个文件夹META-INF/services/javax.servlet.ServletContainerInitializer,里面的内容是我们ServletContainerInitializer的实现类。这样就在应用启动的时候就会来运行这个启动类。

Servlet3.0中实现框架整合,运行时插件

3、在ServletContainerInitializer实现类上可以使用@HandlesTypes注解,这个注解的作用会将这个注解指定的这个类型下面的子类(实现类,子接口)传递传递过来。

Servlet3.0中实现框架整合,运行时插件

4、新建一个业务接口HelloService。并把这个接口作为@HandlesTypes的值。

Servlet3.0中实现框架整合,运行时插件

5、ServletContainerInitializer启动方法onStartup参数Set<Class<?>>是配置在@HandlesTypes中类型的所有子类型,接下来打印这些类型。

Servlet3.0中实现框架整合,运行时插件

6、接下来启动应用,查看程序的打印结果。

Servlet3.0中实现框架整合,运行时插件
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢