gpt4 book ai didi

java - 如何从服务层访问spring管理的bean

转载 作者:行者123 更新时间:2023-12-01 05:52:50 25 4
gpt4 key购买 nike

我无法在服务层获取spring bean(ServiceContext.getBean("beanName"))。不过,我可以在 servlet 中获取 bean。我在下面的类(class)中做错了什么?

package com.ekaplus.presentation.common;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

public class ServiceContext implements ApplicationContextAware{

private static ApplicationContext applicationContext;

@SuppressWarnings("static-access")
public void setApplicationContext(ApplicationContext ctx)throws BeansException {
this.applicationContext=ctx;
}
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
public static Object getBean(String beanName)
{
return applicationContext.getBean(beanName);
}

}

最佳答案

尝试在没有静态访问的情况下进行操作。这样的smt(仅用于测试)

class ServiceContext {
public static Object getBean(final String beanName){
return new ApplicationContextAware(){
Object res;
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
res = applicationContext.getBean(beanName);
}

Object getBean(){
return res;
}

}.getBean();
}
}

关于java - 如何从服务层访问spring管理的bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4066953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com