`
ganqing1234
  • 浏览: 171242 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

jsf查找Spring管理的bean

阅读更多

这个工具类提供在JSF世界里查找Spring管理的bean.也实现在Spring中查找JSF组件的方法.(http://tech.it168.com/jd/2008-01-04/200801032352532.shtml)

package com.skysoft.rbac.dao;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;
import javax.faces.el.ValueBinding;
import javax.faces.FactoryFinder;
import javax.faces.application.Application;
import javax.faces.application.ApplicationFactory;
public final class SpringFacesUtil {
public SpringFacesUtil() {
}
/**
* 从Spring中查找bean.
* @param beanname String
* @return Object
*/
public static Object findBean(String beanname) {
	ServletContext context = (ServletContext) FacesContext.getCurrentInstance().
	getExternalContext().getContext();
	ApplicationContext appctx = WebApplicationContextUtils.
	getRequiredWebApplicationContext(context);
	return appctx.getBean(beanname);
}
/**
* 从JSF中查找bean.
* @param beanname String
* @return Object
*/
public static Object lookupBean(String beanname) {
	Object obj = getValueBinding(getJsfEl(beanname)).getValue(FacesContext.
	getCurrentInstance());
	return obj;
}
private static ValueBinding getValueBinding(String el) {
	return getApplication().createValueBinding(el);
}
private static Application getApplication() {
	ApplicationFactory appFactory = (ApplicationFactory) FactoryFinder.
	getFactory(FactoryFinder.APPLICATION_FACTORY);
	//FactoryFinder.FACES_CONTEXT_FACTORY
	//FactoryFinder.RENDER_KIT_FACTORY
    	return appFactory.getApplication();
}
private static String getJsfEl(String value) {
	return "#{" + value + "}";
}
}

 

分享到:
评论

相关推荐

    JSF和Spring集成.doc

    - 这个类的主要功能是在 JSF 世界中查找 Spring 管理的 bean,同时也实现了在 Spring 中查找 JSF 组件的方法。 - `findBean(String beanName)` 方法用于从 Spring 中查找 bean,该方法通过当前 `FacesContext` ...

    jSF2.0与Spring整合实例+教程

    2. ** faces-config.xml 配置**:在JSF配置文件中声明Spring Bean的查找机制,通常使用`<managed-bean>`的`class`属性引用Spring Bean。 3. **Spring-WSF Bridge**:如`SpringFaces`库,用于协调JSF和Spring之间的...

    JSF+spring+hibernate整合实例

    当JSF在自己的上下文中找不到所需的Bean实例时,它会去Spring的ApplicationContext中查找。这种方式允许我们利用Spring的强大功能,如事务管理、数据访问等,同时还能利用JSF的视图层处理能力。 在提供的实例中,...

    jsf+spring

    - 在JSF页面中使用Spring管理的bean,可以通过`<f:managedProperty>`标签或EL表达式引用bean。 - 如果需要,配置Spring MVC和JSF的集成,例如设置DispatcherServlet和FacesServlet的映射。 5. **示例代码** - ...

    精通JSF基于EJB HibernateSpring整合天发与项目实践 书本源码

    4. Spring框架的IoC容器、AOP的实现、事务管理以及与JSF和EJB的集成。 5. 数据库连接池的配置和使用,例如C3P0或HikariCP。 6. MVC设计模式在JSF和Spring中的应用。 7. JPA(Java Persistence API)与Hibernate的...

    Spring2.5-Reference_zh_CN.txt

    - **Bean生命周期管理**:Spring框架提供了对Bean生命周期的精细控制,如初始化方法、销毁方法等。 - **依赖查找**:Spring支持通过ID或类型等方式查找依赖对象。 #### 四、配置管理 - **XML配置**:Spring最早支持...

    spring5.0.6全部jar包

    Bean Factory是Spring的最基础的容器,负责对象的创建、配置和管理。ApplicationContext不仅继承了Bean Factory的功能,还增加了处理消息资源、应用事件以及AOP(面向切面编程)支持。 其次,Spring的AOP模块提供了...

    常用手册 JSF及Myfaces帮助.CHM

    **JSF(JavaServer Faces)**是Java平台上用于构建用户界面的一种Web开发框架,它简化了创建、维护和管理Web应用程序的过程。JSF的核心概念是组件模型,它将UI元素视为可重用的组件,允许开发者通过声明式编程来处理...

    Spring 2.0中文API(chm格式)

    除此之外,Spring 2.0还强化了与其它开源框架的整合,如JSF、Struts、EJB等,以及对Spring Web Flow的支持,这是一个用于构建复杂Web交互流程的库。 总之,Spring 2.0中文API CHM文件是学习和使用Spring 2.0框架的...

    spring icefaces hibernate 整合

    `SpringBeanFacesELResolver`使得JSF表达式语言(EL)能够查找并注入Spring容器中的bean。 关于Hibernate的配置,通常是在Spring的配置文件中完成的,如`servlet-context.xml`。这里会定义数据源、SessionFactory...

    跟我学spring3

    例如,使用`@Autowired`进行自动装配,`@Qualifier`指定特定的bean,以及`@Resource`注解来查找JNDI资源。这些注解大大提高了代码的可读性和可维护性。 Spring3也包含了对数据访问的强大支持,包括JDBC模板、...

    JspServletBean example

    **JspServletBean 示例详解** ...通过熟练掌握这一技术,开发者能够更好地理解和应用Java EE框架,如Spring MVC或JSF,这些框架在企业级应用中广泛使用。不断实践和学习,你将在Web开发领域更进一步。

    JSF的入门是点点滴滴

    在深入学习JSF的过程中,开发者还会遇到更复杂的话题,如组件库(如PrimeFaces)、Ajax支持、异步请求处理以及与Spring、Hibernate等框架的集成。JSF作为一个成熟的框架,为Web应用开发提供了丰富的功能和便利性,是...

    spring2.0中文开发参考手册

    2. **Bean容器**:Spring中的Bean容器(ApplicationContext)负责管理对象(称为Bean),提供初始化、配置、装配以及查找Bean的服务。Bean可以通过XML、注解或Java配置类进行定义。 3. **AOP**:Spring的AOP模块...

    中软国际(北部资料Spring.ppt)

    在传统模式下,对象通常需要自行创建或查找依赖的对象,而在Spring框架中,容器负责管理对象及其依赖,根据配置将所需的服务注入到对象中,减少了硬编码的依赖,提高了代码的灵活性和可测试性。 **2. 面向切面编程...

    spring-tool-suite-4-4.13.0.RELEASE-e4.22.0-linux

    2. **Spring Boot支持**:可以快速创建和运行Spring Boot项目,提供启动器依赖管理。 3. **Spring Roo集成**:帮助快速生成Maven或Gradle项目结构,自动生成代码。 4. **Git版本控制集成**:方便进行版本控制操作。 ...

    详细介绍Spring框架.docx

    Spring Core Container是基础,包含Bean工厂(BeanFactory)和应用上下文(ApplicationContext),它们负责管理对象的生命周期和依赖注入。其他模块则分别提供了针对不同层面的解决方案,如Spring MVC用于构建Web...

    Spring Framework 1.x.x 版本完整最后一版

    BeanFactory是Spring的基础,负责管理bean的创建、初始化、配置和查找。ApplicationContext则扩展了BeanFactory,增加了对国际化、事件传播、资源加载等功能。 3. **数据访问/集成**: Spring支持多种数据访问技术...

Global site tag (gtag.js) - Google Analytics