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

Posted lytwajue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java后台代码调用Spring的@Service Bean的方式相关的知识,希望对你有一定的参考价值。

比如:在我的project中有一个类CompassIndexOperation,以:
@Service("CompassIndexOperation")

@Transactional

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

Spring配置xml文件里设置了生成bean的文件文件夹,我的project实例为:

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

这样。project启动时。会将制定文件夹下的以@Service等标记的类生成bean

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

ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext

(ServletActionContext.getServletContext());

CompassIndexOperation compassIndexOperation = (CompassIndexOperation) context.

getBean("CompassIndexOperation");

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

仅仅需将上述的CompassIndexOperation 的位置改为相应的Bean的名字就可以。

当中须要导入的包有:

import org.springframework.context.ApplicationContext;

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


以上是关于Java后台代码调用Spring的@Service Bean的方式的主要内容,如果未能解决你的问题,请参考以下文章

Spring Task中的定时任务无法注入service的解决办法

java 怎么在serviceimpl中调用service的方法

Spring boot 怎么调用同项目的另一个接口?

08_Spring实现action调用service,service调用dao的过程

Spring MVC普通类或工具类中调用service报空空指针的解决办法(调用service报java.lang.NullPointerException)

将java打jar包成linux后台服务service