首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从侦听器内部访问外部类?

从侦听器内部访问外部类,可以通过在侦听器内部定义一个内部类,然后通过内部类访问外部类的属性或方法。这种方法可以让我们在 Spring Boot 中实现跨域访问,并且不会影响外部类的加载。

以下是一个示例:

  1. 首先,定义一个外部类,例如 ExternalClass:package com.example.demo; public class ExternalClass { public String getName() { return "Hello, world!"; } }package com.example.demo; public class InternalClass { private ExternalClass externalClass = new ExternalClass(); public String getName() { return externalClass.getName(); } }package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Component public static class InternalClassListener { @Autowired private InternalClass internalClass; public String getName() { return internalClass.getName(); } } }在上述示例中,我们在 Spring Boot 启动类中注册了一个名为 InternalClassListener 的监听器,它会自动获取并调用 InternalClass 类中的 getName() 方法。
  2. 然后,在同一个包下,定义一个内部类,例如 InternalClass
  3. 最后,在 Spring Boot 的启动类中,通过 @SpringBootApplication 注解开启 Spring Boot 的自动装配功能,并将 InternalClass 组件注册到容器中:
  4. 启动 Spring Boot 应用,并访问 InternalClassListenergetName() 方法,即可看到外部类的 getName() 方法被正确调用:http://localhost:8080/name在上述示例中,访问 http://localhost:8080/name 将输出 Hello, world!,表明从侦听器内部访问外部类的方法被正确调用。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券