JSF2.0+Spring+Hibernate采用注解方式实现
来源:互联网 发布:js遍历object 编辑:程序博客网 时间:2024/05/17 02:08
1.新建一个WEB工程
2.导入所需要的包,包的目录结构如下所示:
3.web.xml配置
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!-- The bare minimum needed for JSF 2.0 is a servlet 2.5 declaration and the mapping for the FacesServlet. Setting PROJECT_STAGE to Development is highly recommended during initial development so that you get more helpful error messages. From JSF 2.0 tutorial at http://www.coreservlets.com/JSF-Tutorial/jsf2/ --> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> <context-param> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param> <!-- Start the Spring listener that loads the application context when the Web app starts up. It assumes the context is named WEB-INF/applicationContext.xml unless you set a context param called contextConfigLocation to override it. --> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <!-- Lets the bean definition file specify scopes of request and session. --> <listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener> <welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>index.html</welcome-file> </welcome-file-list></web-app>
4.application.xml配置
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <context:annotation-config /> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"destroy-method="close"><!-- 指定连接数据库的驱动 --><property name="driverClass" value="com.mysql.jdbc.Driver" /><!-- 指定连接数据库的 URL --><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test" /><!-- 指定连接数据库的用户名 --><property name="user" value="root" /><!-- 指定连接数据库的密码 --><property name="password" value="123" /><!-- 指定连接数据库连接池的最大连接数 --><property name="maxPoolSize" value="40" /><!-- 指定连接数据库连接池的最小连接数 --><property name="minPoolSize" value="1" /><!-- 指定连接数据库连接池的初始化连接数 --><property name="initialPoolSize" value="1" /><!-- 指定连接数据库连接池的连接最大空闲时间 --><property name="maxIdleTime" value="20" /></bean><!-- 定义 Hibernate 的 SessionFactory --><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><!-- 依赖注入数据源,正是上文定义的 dataSource --><property name="dataSource" ref="dataSource" /><!-- mappingResources 属性用来列出全部映射文件 --><property name="mappingResources"><list><!-- 以下用来列出所有的 PO 映射文件 --><value>coreservlets/Person.hbm.xml</value></list></property><!-- 定义 Hibernate 的 SessionFactory 属性 --><property name="hibernateProperties"><props><!-- 指定 Hibernate 的连接方言 --><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><!-- 配置启动应用时,是否根据 Hibernate 映射自动创建数据表 --><!-- <prop key="hibernate.hbm2ddl.auto">update</prop>--></props></property></bean><bean id="personDao" class="coreservlets.PersonDaoImpl" /><bean id="formBean" class="coreservlets.CustomerBackingBean" scope="request"/></beans>
5.faces-config.xml配置
<?xml version="1.0"?><faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" version="2.0"> <application> <variable-resolver> org.springframework.web.jsf.DelegatingVariableResolver </variable-resolver> </application></faces-config>
6.页面文件customer-lookup.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"><h:head><title>Spring Bank: Balance Lookup</title></h:head><h:body > <h:form > <h:inputText value="#{formBean.id}" /> <h:commandButton value="Show Person" action="#{formBean.findBalance}"/> </h:form></h:body></html>show-personName.xhtml<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"><h:head><title>Spring Bank: Your Balance</title><link href="./css/styles.css" rel="stylesheet" type="text/css"/> </h:head><h:body style="#{formBean.colorPreferences.style}"><table border="5" align="center"> <tr><th class="title">Spring Bank: Your Balance</th></tr></table><p/><ul> <li>person:#{formBean.person.name}</li></ul></h:body></html>
7.java文件CustomerBackingBean.javapackage coreservlets;import javax.annotation.Resource;public class CustomerBackingBean {@Resourceprivate PersonDao personDao;private Person person;private int id;public Person getPerson() {return person;}public void setPerson(Person person) {this.person = person;}public int getId() {return id;}public void setId(int id) {this.id = id;}public PersonDao getPersonDao() {return personDao;}public void setPersonDao(PersonDao personDao) {this.personDao = personDao;}public String findBalance() { person = personDao.get(id);return ("show-balance");}}
Person.javapackage coreservlets;/** * Person entity. @author MyEclipse Persistence Tools */public class Person implements java.io.Serializable {// Fields/** * */private static final long serialVersionUID = 1L;private Integer id;private String name;// Constructors/** default constructor */public Person() {}/** full constructor */public Person(String name) {this.name = name;}// Property accessorspublic Integer getId() {return this.id;}public void setId(Integer id) {this.id = id;}public String getName() {return this.name;}public void setName(String name) {this.name = name;}}
PersonDao.javapackage coreservlets;public interface PersonDao {public Person get(int id);}
PersonDaoImpl.javapackage coreservlets;import javax.annotation.Resource;import org.hibernate.SessionFactory;import org.springframework.orm.hibernate3.HibernateTemplate;public class PersonDaoImpl implements PersonDao {private HibernateTemplate ht = null;@Resourceprivate SessionFactory sessionFactory;public void setSessionFactory(SessionFactory sessionFactory) {this.sessionFactory = sessionFactory;}public HibernateTemplate getHibernateTemplate() {if (ht == null) {ht = new HibernateTemplate(sessionFactory);}return ht;}/* (non-Javadoc) * @see lee.PersonDao#get(int) */public Person get(int id){Person p = (Person)getHibernateTemplate().get(Person.class,id);return p;}}
8.Person.hbm.xml<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Mapping file autogenerated by MyEclipse Persistence Tools--><hibernate-mapping> <class name="coreservlets.Person" table="person" catalog="test"> <id name="id" type="java.lang.Integer"> <column name="id" /> <generator class="increment" /> </id> <property name="name" type="java.lang.String"> <column name="name" not-null="true" /> </property> </class></hibernate-mapping>
一个很简单的功能,实现了JSF2.0+Spring+Hibernate的环境搭建
- JSF2.0+Spring+Hibernate采用注解方式实现
- spring采用注解方式实现AOP
- 采用Spring注解方式, 实现事务
- Spring 采用注解方式配置事务
- Spring采用注解方式配置事务
- struts2+hibernate+spring注解实现
- struts2+hibernate+spring注解实现
- Spring-Task 注解方式实现
- Spring-注解方式实现AOP
- 注解方式实现spring-aop
- spring 注解方式实现aop
- Spring 注解方式实现AOP
- Spring---->采用Annotation的方式实现AOP
- Spring---->采用静态配置文件方式实现AOP
- spring+hibernate+iBATIS注解方式整合
- Spring 整合 Hibernate(注解方式)
- Spring整合Hibernate(2)----注解方式
- JSF2.0 中 实现上传下载
- fedora17 安装后的一些配置和软件安装
- LTrim、RTrim 和 Trim 函数
- MySQL常用语句
- 业界最具影响力MySQL精品文章荟萃(300篇)
- oracle监听无法启动
- JSF2.0+Spring+Hibernate采用注解方式实现
- string中c_str()、data()、copy(p,n)函数的用法
- LINUX和pl/sql development上ORACLE显示乱码问题
- toolstripcombobox 绑定数据问题
- xorg简介
- oracle 函数大全 之 内置函数大全(转载)
- Google 为龟速网络准备的十项功能
- Hibernate中对从数据库中取出的字段值进行包装(修饰)
- HTML5 LocalStorage 本地存储