spring mvc里,jsp中怎么获取bean

spring mvc里,jsp中怎么获取bean,第1张

一、SpringMVC带的有两种方式

ModelMap,大概用法:

@RequestMapping(value = "method1")

public String imports(>

不用配置xml,直接java代码实现,参考代码如下:

public class GetApplicationContext {

private static class ApplicationContextHolder {

// 单例变量

private static ApplicationContext AC = new FileSystemXmlApplicationContext(

"classpath:applicationContextxml");

}

// 私有化的构造方法,保证外部的类不能通过构造器来实例化。

private GetApplicationContext() {

}

// 获取单例对象实例

public static ApplicationContext getInstance() {

if (ApplicationContextHolderAC == null) {

ApplicationContextHolderAC = new FileSystemXmlApplicationContext(

"classpath:applicationContextxml");

}

return ApplicationContextHolderAC;

}

}

获取所有spring自动装配的bean:

<span style="font-size:18px;">//获取spring装配的bean个数

GetApplicationContextgetInstance()getBeanDefinitionNames()length;

//逐个打印出spring自动装配的bean。根据我的测试,类名第一个字母小写即bean的名字

for(int i=0;i<33;i++){

Systemoutprintln( GetApplicationContextgetInstance()getBeanDefinitionNames()[i]);

}</span>

然后通过下面的代码获取到spring注解装配的bean供自己使用:

<span style="font-size:18px;">StorageReturnService ossService = (StorageReturnService) GetApplicationContextgetInstance()getBean("storageReturnServiceImpl");</span>

初始化时保存ApplicationContext对象

代码:

ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContextxml");

acgetBean("beanId");

说明:这种方式适用于采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的情况。

ApplicationContext context=new ClassPathXmlApplicationContext("classpath:applicationContextxml");

CustomerService customerService=(CustomerService)contextgetBean("customerService");

第一种方式:FileSystemXmlApplicationContext通过程序在初始化的时候,导入Bean配置文件,然后得到Bean实例:ApplicationContextac=newFileSystemXmlApplicationContext(applicationContextxml)acgetBean(beanName);第二种方式:WebApplicationContextUtil在B/S系统中,通常在webxml初始化bean的配置文件,然后由WebAppliCationContextUtil得到ApplicationContext例如:ApplicationContextctx=WebApplicationContextUtilsgetRequiredWebApplicationContext(ServletContextsc);ApplicationContextctx=WebApplicationContextUtilsgetWebApplicationContext(ServletContextsc);其中servletContext sc 可以具体 换成 servletgetServletContext()或者 thisgetServletContext()或者requestgetSession()getServletContext();另外,由于spring是注入的对象放在ServletContext中的,所以可以直接在ServletContext取出WebApplicationContext 对象:WebApplicationContext webApplicationContext = (WebApplicationContext) servletContextgetAttribute(WebApplicationContextROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);下面几种方式没有用过,

spring xml中定义

<!--spring 工具类-->

<bean id="springContextUtil" class="comskylinepubutilsSpringContextUtil"/>

SpringContextUtil的代码如下

package comskylinepubutils;

import orgspringframeworkbeansBeansException;

import orgspringframeworkcontextApplicationContext;

import orgspringframeworkcontextApplicationContextAware;

import javautilLocale;

/

Spring 获取 bean工具类

Author: skyline{>

以上就是关于spring mvc里,jsp中怎么获取bean全部的内容,包括:spring mvc里,jsp中怎么获取bean、如何用spring获取bean、如何获取spring 注解的bean等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9313442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存