`
iamlibo
  • 浏览: 68835 次
社区版块
存档分类
最新评论

JSF1.2 +Spring2.0 +Hibernate3.2

阅读更多

    最近在准备一个项目,经过比较最终选JSF1.2 +Spring2.0 +Hibernate3.2的框架,至于为什么我就不说了,每个都有自己的看法。下面进入正题。

    开发工具是MyEclipse5.5 支持JEE5的开发,其实用到JEE5的功能可能很少或者没有,但即然有还是选择先进的技术吧。JSF1.2暂时选择SUN的实现,以后要可以随时换成MyFaces的(现在MyFaces是1.1.5吧?),Spring是2.0.5版。使用Maven2来管理Jar包和生命周期,用着也是很方便的,比ANT要少写不少配置的东西。而且有专门的E clipse下的插件。

    开始操作吧。

  1. 新建工程

在MyEclipse下新建一个Web工程。注意J2EE服务器选择J2EE5.0 ,然后点完成。以前的MyEclise新建Web工程很慢,有时会死机,现在好多了。已经好长时间没用MyEclipse了。

  1. 加入JSF

在工程目录上点右键,在菜单中选择MyEclipse->Add JSF Capabilities…会出现一个窗口,如图

Faces-config.xml 文件放到/WEB-INF/目录下,Faces Servlet name 保持不变是 Faces Servlet即可,我将URL pattern 改成了*.jsf ,不改也可以只是要注意后面涉及到访问JSF的都要用*.faces。

现在JSF就配置好了,主要是web.xml中的一个Servlet和faces-config.xml。

  1. 加入Spring

用MyEclipse也能够象加入JSF一样加入Spring 的支持,但是我们要用MAVEN2来管理JAR包,所以就不用这种方式加入。在工程点上右键,在弹出的菜单中选择Maven2然后选择endable。(要求你得先正确安装Maven2Eclipse的插件, 插件的更新地址是:http://m2eclipse.codehaus.org/update/,多数是不成功,得找一个正确的Eclipse版本,我也是换了好多个版本)。

在弹出的窗口中输入要求的信息,主要是packaging 选择war。

完成后工程根目录就会新建一个pom.xml 文件。在文件上右键,maven2->add dependency 来加入需要的jar包。看下面完整的pom.xml(注意:编辑完pom.xml之后编译工程就要联网下载jar包了。)

 

在WEB-INF/目录下一个名为applicationContext.xml的文件,因为了Spring启动时会自己在这个目录下查找这个文件。内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns=http://www.springframework.org/schema/beans xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

            

</beans>

只是一个没有任何配置的文件。

  1. JSF结合Spring

    Spring 加入后,得让它能够和JSF结合起来工作,也就是在JSF中能够访问Spring中的bean,只需要在web.xml文件中加入下面一段:

    <listener>

        <listener-class>

            org.springframework.web.context.ContextLoaderListener

        </listener-class>

    </listener>

这样就可以访问Spring 中的bean 了。

    例如:

        Faces-confg.xml中的一段代码

    <managed-bean>

        <managed-bean-name>UserBean</managed-bean-name>

        <managed-bean-class>

            cn.xiangyunsoft.web.jsf.beans.UserBean

        </managed-bean-class>

        <managed-bean-scope>session</managed-bean-scope>

        <managed-property>

            <property-name>userDao</property-name>

            <value>#{userDao}</value>

        </managed-property>

    </managed-bean>

    其中#{userDao} 这个就是访问Spring中的bean .

    applicationContext.xml

    <bean id="userDao"

        class="cn.xiangyunsoft.busniess.dao.impl.UserDaoImpl">

        ……

    </bean>

    

  1.     加入Hibernate3

    在pom.xml文件中加入依赖包。看后面完整的pom.xml

applicationContext.xml文件加入下面代码

    <bean id="XYSDataSource"

        class="org.apache.commons.dbcp.BasicDataSource">

        <property name="driverClassName"

            value="net.sourceforge.jtds.jdbc.Driver">

        </property>

        <property name="url"

            value="jdbc:jtds:sqlserver://localhost:1433/erpdata">

        </property>

        <property name="username" value="sa"></property>

        <property name="password" value=""></property>

    </bean>

    <bean id="HibernateSessionFactory"

        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

        <property name="dataSource">

            <ref bean="XYSDataSource" />

        </property>

        <property name="hibernateProperties">

            <props>

                <prop key="hibernate.dialect">

                    org.hibernate.dialect.SQLServerDialect

                </prop>

            </props>

        </property>

    </bean>

第一个bean XYSDataSource是设置数据源,也可以把它换成JNDI方式由服务器管理的数据源。

第二个bean HibernateSessionFactory是设置HibernateSession工厂,可以通过Spring bean 来访问Hibernate session.因为使用annotations方式配置hibernate,所以连hibernate.cfg.xml 都不用了!

  1. 完整pom.xml

<?xml version="1.0" encoding="UTF-8"?><project>

<modelVersion>4.0.0</modelVersion>

<groupId>cn.xiangyunsoft</groupId>

<artifactId>XI</artifactId>

<packaging>war</packaging>

<version>0.0.1</version>

<description></description>

<dependencies>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

<version>2.0.5</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-support</artifactId>

<version>2.0.5</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-hibernate3</artifactId>

<version>2.0.5</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-aop</artifactId>

<version>2.0.5</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jpa</artifactId>

<version>2.0.5</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jms</artifactId>

<version>2.0.5</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jca</artifactId>

<version>2.0.5</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring</artifactId>

<version>2.0.5</version>

</dependency>

<dependency>

<groupId>org.hibernate</groupId>

<artifactId>hibernate-annotations</artifactId>

<version>3.2.1.ga</version>

</dependency>

<dependency>

<groupId>commons-dbcp</groupId>

<artifactId>commons-dbcp</artifactId>

<version>1.2.2</version>

</dependency>

</dependencies>

</project>

好了。所有的配置都完成了。现在他们可以好好的相处了。就差加点代码让它们工作了。过两天会把完整的代码发上来。

还有,JSF+Spring+hibernate最少需要那些Spring的包还没试。谁知道可以知会一下。现在差不多是都加上了。

分享到:
评论

相关推荐

    JSF1.2+Spring2.0+Hibernate3.2的一个登陆实例

    标题“JSF1.2+Spring2.0+Hibernate3.2的一个登陆实例”涉及到的是一个集成使用JavaServer Faces(JSF)、Spring框架和Hibernate ORM的登录应用示例。这个项目可能是一个教学资源或者开发者用来学习如何在旧版本的...

    jsf+spring+hibernate整合demo

    jsf1.2+spring2.0+hibernate3.2整合demo part1

    spring web flow reference 2.4.0

    - **Portlet API 2.0和JSF 2.0支持**:对Portlet API 2.0和JSF 2.0的支持进行了优化,增强了portlet环境下的集成能力。 ##### 2.2 Spring Web Flow 2.3新特性 - **在页面上嵌入Flow**:可以在页面上直接嵌入Flow,...

    Spring in Action(第二版 中文高清版).part2

    6.4.3 在Spring 2.0里声明事务 6.4.4 定义注释驱动事务 6.5 小结 第7章 保护Spring 7.1 Spring Security介绍 7.2 验证用户身份 7.2.1 配置Provider Manager 7.2.2 根据数据库验证身份 7.2.3 根据LDAP仓库...

    Spring in Action(第二版 中文高清版).part1

    6.4.3 在Spring 2.0里声明事务 6.4.4 定义注释驱动事务 6.5 小结 第7章 保护Spring 7.1 Spring Security介绍 7.2 验证用户身份 7.2.1 配置Provider Manager 7.2.2 根据数据库验证身份 7.2.3 根据LDAP仓库...

    Spring in Action(第2版)中文版

    6.4.3在spring2.0里声明事务 6.4.4定义注释驱动事务 6.5小结 第7章保护spring 7.1springsecurity介绍 7.2验证用户身份 7.2.1配置providermanager 7.2.2根据数据库验证身份 7.2.3根据ldap仓库进行身份验证 ...

    Spring API

    2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 ...

    Spring中文帮助文档

    2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 ...

    JBoss_Enterprise_Application_Platform-7.0

    这涵盖了诸如Servlet 3.1、JPA 2.1、JSF 2.2、CDI 1.2、JMS 2.0、EJB 3.2等关键组件,为开发人员提供了丰富的API和服务。 2. **模块化结构**:JBoss EAP 7.0采用了模块化设计,允许开发人员按需加载组件,降低了...

    JAVA程序开发大全---上半部分

    以及基于这些技术的商业化应用程序的开发技巧,在讲解过程中以目前最为流行的开发工具MyEclipse为载体,全面系统地介绍了如何在MyEclipse中开发基于Struts、Hibernate、Spring等主流框架的各种Java应用程序。...

    J2EE应用开发详解

    246 14.5.2 CORBA和RMI的互操作 247 14.6 小结 248 第15章 Spring框架 249 15.1 Spring 2.0的体系结构 249 15.2 Ioc容器 250 15.2.1 BeanFactory 250 15.2.2 ApplicationContext 252 15.2.3 Beans的生命周期过程 253...

    轻量级Java+EE企业应用实战

    这些框架通常包括Spring Boot、Spring Cloud、Hibernate等,它们提供了快速开发、部署的能力,同时保持高度的灵活性和可扩展性。 ### 二、轻量级Java+EE的优势 #### 2.1 开发效率 轻量级框架简化了开发流程,通过...

    271个java需要用的jar包

    spring-hibernate3-2.0.8.jar spring-jdbc-3.1.1.RELEASE.jar spring-jdbc-4.1.4.RELEASE.jar spring-mock.jar spring-test-3.0.5.RELEASE.jar spring-tx-3.1.1.RELEASE.jar spring-web-3.0.5.RELEASE.jar spring-...

Global site tag (gtag.js) - Google Analytics