如何以编程方式在 Spring 中获取 @Service 实例

Howto get @Service instance in Spring programatically

我需要实现 javax.faces.convert.Converter 以将字符串转换为对象和对象转换为字符串。

为此,我定义了具体的服务(@Service),但我不知道如何获取实例。

我曾尝试使用 @Autowired@Component 来获取实例,但 Spring 被忽略了。

是否可以从 FacesContext 获取 @Service 实例?

这是不可能的。 Spring 如果未配置为在您的应用程序中使用注释,注释将毫无用处。

首先你应该得到这样的应用上下文

ApplicationContext ctx = FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance());

然后使用此上下文获取组件的实例。

YourService custB = (YourService )ctx.getBean("yourService");