文档章节

Spring MVC中一般类使用service

猪刚烈
 猪刚烈
发布于 2014/09/24 13:55
字数 233
阅读 39
收藏 0

    在Spring MVC中,Controller中使用service只需使用注解@Resource或者@Persist就行,但是一般类(即不使用@Controller注解的类)要用到service时,可用如下方法:

     1、SpringContextUtil

    

package com.test.framework.utils;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

public class SpringContextUtil implements ApplicationContextAware {

	private static ApplicationContext applicationContext; // Spring应用上下文环境

	// 下面的这个方法上加了@Override注解,原因是继承ApplicationContextAware接口是必须实现的方法
	@Override
	public void setApplicationContext(ApplicationContext applicationContext)
			throws BeansException {
		SpringContextUtil.applicationContext = applicationContext;
	}

	public static ApplicationContext getApplicationContext() {
		return applicationContext;
	}

	public static Object getBean(String name) throws BeansException {
		return applicationContext.getBean(name);
	}

	public static Object getBean(String name, Class requiredType)
			throws BeansException {
		return applicationContext.getBean(name, requiredType);
	}

	public static boolean containsBean(String name) {
		return applicationContext.containsBean(name);
	}

	public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
		return applicationContext.isSingleton(name);
	}

	public static Class getType(String name)	throws NoSuchBeanDefinitionException {
		return applicationContext.getType(name);
	}

	public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {
		return applicationContext.getAliases(name);
	}
}

       2、Spring的配置文件application.xml中进行如下配置

    

<bean id="SpringContextUtil" class="com.test.framework.utils.SpringContextUtil"  scope="singleton"/>


        3、使用
       

DictService dictService = (DictService) SpringContextUtil.getBean("dictService");
List<Dict> dict = (List<Dict>) dictService.findByHQL(hql);

本文转载自:http://blog.csdn.net/jrn1012/article/details/39520833

猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
私信 提问
spring vmc3.1.1 上,通过AnnotationMethodHandlerAdap...

spring vmc3.1.1 下,通过AnnotationMethodHandlerAdapter配置webBindingInitializer失效解决方案 问题: spring vmc3.1.1 下,通过AnnotationMethodHandlerAdapter配置webBindingInitializ......

爪哇小贩
2013/03/23
810
2
SSM(Spring+Spring MVC+Mybatis)框架搭建(已附上demo)

一. SSM框架架构及流程介绍 SSM框架,通常是指将spring mvc+spring+mybatis三个框架整合在一起进行工作,spring mvc本身就是spring的一部分,所以这两者之间不用整合,这里主要做的事情就是将...

潜行-L
07/19
98
0
这15个经典的Spring面试常见问题你都了解吗?来看看吧

点关注,不迷路;持续更新Java架构相关技术及资讯热文!!! 这篇文章主要是想通过一些问题,加深大家对于 Spring 的理解,所以不会涉及太多的代码!这篇文章整理了挺长时间,下面的很多问题...

Java_苏先生
06/05
0
0
我把自己的架构转移到了Spring MVC了

我在 2011年出版了 一本图书《B2B2C网上编程指南--基于SaaS和淘宝API开放平台》 那时我的快速开发框架已经比较成熟了,那时从心里比较讨厌Spring 和Hinernate的配置文件,所以那时在那本图书...

邢波涛
2013/11/10
435
1
相同Bean分别被Spring MVC子容器与Spring父容器初始化,导致@Value注入失败

在车保养项目开发过程中,技术架构:Spring MVC + MyBatis;Service层接口中属性,如果使用注解@Value注入,不能够拿到Properties文件中拿到对应的key值;但在Spring配置文件applicationCont...

陶邦仁
2015/10/26
2.7K
2

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部