- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在非 Spring 框架中使用 Spring beans,为此我已经实现了 ApplicationContextAware 来访问 spring beans。
@Service
public class ApplicationContextProviderService implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
ApplicationContextProviderService.applicationContext = applicationContext;
}
public static <T> T getBean(Class<T> beanType) {
System.out.println("bean out: " + applicationContext);
return applicationContext.getBean(beanType);
}
}
我尝试从非 Spring 类访问 Spring 服务:ConnectionStateService:
this.connectionStateService = ApplicationContextProviderService.getBean(ConnectionStateService.class);
我收到以下错误:
java.lang.IllegalStateException:
**org.springframework.context.annotation.AnnotationConfigApplicationContext@7f485fda has not been refreshed yet at
** org.springframework.context.support.AbstractApplicationContext.assertBeanFactoryActive(AbstractApplicationContext.java:1072) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1102) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at com.example.app.service.ApplicationContextProviderService.getBean(ApplicationContextProviderService.java:19) ~[classes/:na] at com.example.app.CustomFilter.<init>(CustomFilter.java:26) ~[classes/:na]
如何解决这个问题?
最佳答案
当应用程序在应用程序运行之前尝试调用 ApplicationContext 时,就会出现此问题,因此您将无法拥有应用程序上下文,因为它尚未创建。解决方案是为 ConnectionStateService 类创建一个单例,这样您就不需要创建用于调用 ApplicationContext 的服务。
public class ConnectionStateService {
// static variable instance of type Singleton
private static ConnectionStateService single_instance = null;
// private constructor restricted to this class itself
private ConnectionStateService() {
// some stuffs for initialize here
}
// static method to create instance of Singleton class
public static ConnectionStateService getInstance() {
if (instance == null)
instance = new ConnectionStateService();
return instance;
}
}
关于java - AnnotationConfigApplicationContext 尚未使用 ApplicationContextAware 刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53473155/
我正在使用配置类(模拟)在服务定位器(单例)内预初始化 AnnotationConfigApplicationContext(注册+刷新)。 当我启动应用程序时,我设置了一个配置类属性。我想替换已经注
我正在开发一个 spring MVC 应用程序。当我尝试在我的 Controller 类中使用 AnnotationConfigApplicationContext 时,出现以下错误。我不知道这句话的
我在尝试使用 AnnotationConfigApplicationContext 定义上下文层次结构时遇到问题。 问题是在 beanRefContext.xml 中定义模块上下文并使用另一个上下文(
我有一个项目 A,它使用 AnnotationConfigApplicationContext 来定义应用程序上下文,例如: private static AnnotationConfigAppli
我有一个问题,我有一个 ClassA 需要注入(inject) RoomService ,并且工作正常,我在 ClassA 中发现,roomService 的 id 是相同的。 虽然由于某种原因,我需
我正在获取以下代码的堆栈跟踪, public interface SequenceDAO { public Sequence getSequence(String sequenceId);
我非常基本的 spring 应用程序停止工作,我无法理解发生了什么。pom.xml: 4.1.1.RELEASE org.springframework
我创建了 Spring 应用程序,并且正在独立的 Java 应用程序中加载应用程序上下文。我的代码如下 public class Application { public static voi
我在非 Spring 框架中使用 Spring beans,为此我已经实现了 ApplicationContextAware 来访问 spring beans。 @Service public cla
我使用 Quartz Scheduler(使用 JobDetailFactoryBean)和 Spring 来安排一些作业。现在我通过 XmlApplicationContext 通过 spring
我正在使用 AnnotationConfigApplicationContext 运行我的 SpringBoot 应用程序: ApplicationContext context = new Anno
我知道 springs AnnotationConfigApplicationContext 不仅能够接受 @Configuration 类作为输入,还能够接受普通的 @Component 类和用 J
我编写了一组简单的类来向 friend 展示如何使用 Annotations for AOP(而不是 xml 配置)。我们无法让 @ComponentScan 工作,并且 AnnotationConf
我有一个客户端类,我希望能够在任何地方使用它。我认为单例会起作用。 我应该: 用 @Service 注释我的客户端类,然后在我想要的任何地方使用 @Autowired 注释? 或 创建一个 @Conf
org.springframework.spring-webmvc includes spring-context所以我不确定为什么我在可能的应用程序中看不到 org.springframework.
这是 one of my SO questions 的延续. 我扩展了相同的示例,并希望它能够工作,但是我收到了 NullPointerException。 完整的源代码如下: FirstBean.j
执行 Jar 文件中的类会导致错误嵌套异常: java.lang.NoClassDefFoundError:org/springframework/context/annotation/Annotat
我的应用程序是一个 Web 应用程序,当使用“mvn spring-boot:run”运行时,我能够成功到达端点。唯一的问题是应用程序在 intellij 中以 Debug模式运行时关闭,并且无法调试
我正在尝试参数化 cron 表达式并从属性文件中读取它。在此过程中,我收到以下异常“创建名为'springScheduleCronExample'的bean时出错:bean初始化失败;嵌套异常为jav
我是一名优秀的程序员,十分优秀!