首页 > 代码库 > Java后台代码调用Spring的@Service Bean的方式

Java后台代码调用Spring的@Service Bean的方式

例如:在我的工程中有一个类CompassIndexOperation,以:
@Service("CompassIndexOperation")

@Transactional

方式通知Spring创建一个实现类的实例;

Spring配置xml文件中设置了生成bean的文件目录,我的工程实例为:

<context:component-scan base-package="com.ourfuture.compass.*"/>

这样,工程启动时,会将制定目录下的以@Service等标记的类生成bean

在后台Java代码中调用这一bean的方式如下:

ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext

(ServletActionContext.getServletContext());

CompassIndexOperation compassIndexOperation = (CompassIndexOperation) context.

getBean("CompassIndexOperation");

这样就获得了Spring中的CompassIndexOperation Bean实例,当然这是我的工程中的Bean,针对不同的工程,要获取不同的Bean实例,

只需将上述的CompassIndexOperation 的位置改为对应的Bean的名字即可。

其中需要导入的包有:

import org.springframework.context.ApplicationContext;

import org.springframework.web.context.support.WebApplicationContextUtils;