161018、springMVC中普通类获取注解service方法

1、新建一个类SpringBeanFactoryUtils 实现 ApplicationContextAware

package com.loiot.baqi.utils;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
 * -------------------------------------------
 * Title : SpringBeanFactoryUtils
 * Description : 普通类调用Spring注解方式的Service层bean
 * Create on : 2016年11月1日 下午3:12:25
 * Copyright (C) strongunion
 * @author RICK
 * 修改历史:
 * 修改人 修改日期 修改描述
 * -------------------------------------------
 */
public class SpringBeanFactoryUtils implements ApplicationContextAware {

    private static ApplicationContext appCtx;

    /**
     * TODO: 此方法可以把ApplicationContext对象inject到当前类中作为一个静态成员变量。
     * @Auhor: RICK
     * @Date : 2016年11月1日
     */
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        appCtx = applicationContext;
    }

    /**
     * TODO: 获取ApplicationContext
     * @Auhor: RICK
     * @Date : 2016年11月1日
     */
    public static ApplicationContext getApplicationContext() {
        return appCtx;
    }

    /**
     * TODO: 这是一个便利的方法,帮助我们快速得到一个BEAN
     * @Auhor: RICK
     * @Date : 2016年11月1日
     */
    public static Object getBean(String beanName) {
        return appCtx.getBean(beanName);
    }
}

2、在spring的配置文件.xml中添加

<bean id="springBeanFactoryUtils" class="com.haier.util.SpringBeanFactoryUtils"/>

3、在普通类中使用service

ZpAccountSalaryHistoryService zpAccountSalaryHistoryService = (ZpAccountSalaryHistoryService)SpringBeanFactoryUtils.getBean("zpAccountSalaryHistoryService");
时间: 2024-12-14 17:28:48

161018、springMVC中普通类获取注解service方法的相关文章

Java测试类获取spring bean方法

Java测试类获取spring bean方法 http://blog.163.com/lizhenming_2008/blog/static/76558333201362094243911/ 1.通过spring上下文 ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationcontext.xml"); DataSource ds = (DataSource) ctx.getBean("d

springmvc后台控制层获取参数的方法

在SpringMVC后台控制层获取参数的方式主要有两种, 一种是request.getParameter("name"), 另外一种是用注解@RequestParam直接获取.这里主要讲这个注解 一.基本使用,获取提交的参数 后端代码: Java代码   @RequestMapping("testRequestParam") public String filesUpload(@RequestParam String inputStr, HttpServletReq

Java中Arrays类的两个方法:deepEquals和equals

deepEquals和equals是Java中Arrays类的两个静态方法,可是它们之间有什么样的区别呢? 代码一. import java.util.Arrays; public class Test { public static void main(String[] args) { String[][] name1 = {{ "G","a","o" },{ "H","u","a",

SpringMVC中四个基本注解

@Component.@Repository @Service.@Controller 看字面含义,很容易却别出其中三个: @Controller 控制层,就是我们的action层 @Service 业务逻辑层,就是我们的service或者manager层 @Repository 持久层,就是我们常说的DAO层 而@Component (字面意思就是组件),它在你确定不了事哪一个层的时候使用. 其实,这四个注解的效果都是一样的,Spring都会把它们当做需要注入的Bean加载在上下文中; 但是在

springMVC 中几种获取request和response的方式

1.最简单方式:参数 例如: @RequestMapping("/test") @ResponseBody public void saveTest(HttpServletRequest req, HttpServletResponse resp){ } 2.加入监听器,然后在代码里面获取 HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).ge

SpringBoot项目中普通类获取http相关的类(request/response/sesion)

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.commons.lang.StringUtils; import org.springframework.web.context.request.RequestContextHolder; impor

vue 中使用 AJAX获取数据的方法

在VUE开发时,数据可以使用jquery和vue-resource来获取数据.在获取数据时,一定需要给一个数据初始值. 看下例: <script type="text/javascript"> new Vue({ el:'#app', data:{data:""}, created:function(){ var url="json.jsp"; var _self=this; $.get(url,function(data){ _se

Java 中对类进行排序的方法(转)

JAVA中的比较器接口Comparable用于数组对象的排序,要使用此功能,必须让类继承自Comparable接口,重写compareTo(Object obj)方法. import java.util.*; class Person implements Comparable{ private String name; private int age; private float score; public Person(String name,int age,float score){   

NDK中可靠的获取JNIEnv*的方法

使用NDK时,几乎任何方法都需要一个JNIEnv来调用.这个类是和线程相关的,如何可靠的获取它? 首先,作为NDK的so,必然有一个地方是由android系统调用的,这个调用将带来一个JNIEnv参数,不要使用它,而是调用: JNIEnv->GetJavaVM(&g_javaVM); 获取一个JavaVM类型变量. 接着在需要使用JNIEnv的时候调用 int status; JNIEnv* _jniEnv = NULL; status = g_javaVM->GetEnv((void