如何以编程方式在 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");
我需要实现 javax.faces.convert.Converter
以将字符串转换为对象和对象转换为字符串。
为此,我定义了具体的服务(@Service
),但我不知道如何获取实例。
我曾尝试使用 @Autowired
和 @Component
来获取实例,但 Spring 被忽略了。
是否可以从 FacesContext
获取 @Service
实例?
这是不可能的。 Spring 如果未配置为在您的应用程序中使用注释,注释将毫无用处。
首先你应该得到这样的应用上下文
ApplicationContext ctx = FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance());
然后使用此上下文获取组件的实例。
YourService custB = (YourService )ctx.getBean("yourService");