1. SEAM 2.2 还是不能正常的支持JSF 2.0
尝试了2天还是搞不定, seam对jsf的phase解析就出现NullPointException, 换回jsf1.2问题就没有了, SEAM官方说可以无缝升级,但是事实上我搞不定
2. SEAM和Hibernate配合, 在注入session点时候, 变量名要和在componts.xml的如下配置的name属性一致
<persistence:managed-hibernate-session
name="hibernateSession" session-factory="#{hibernateSessionFactory}"
auto-create="true" session-factory-jndi-name="java:/AquariansSessionFactory" />
或者在注入的时候指定名字
@In(value="#{hibernateSession}")
protected Session session;
3. 试用泛型DAO时候,在初始化需要对从SEAM(org.jboss.seam.Instance)代理来的类进行处理
原来的代码
private Class<T> clazz;
@SuppressWarnings("unchecked")
public GenericDaoImpl() {
this.clazz = (Class<T>) ((ParameterizedType) getClass()
.getGenericSuperclass()).getActualTypeArguments()[0];
}
需要进行进一步的判断
private Class<T> clazz;
@SuppressWarnings("unchecked")
public GenericDaoImpl() {
Type t = getClass().getGenericSuperclass();
Type arg;
/* 以下判断用于区分是否是代理类,如果是代理类需要再次获得一次GenericSuperclass */
if (t instanceof ParameterizedType) {
arg = ((ParameterizedType) t).getActualTypeArguments()[0];
} else if (t instanceof Class) {
arg = ((ParameterizedType) ((Class) t).getGenericSuperclass())
.getActualTypeArguments()[0];
} else {
throw new RuntimeException("Can not handle type construction for '"
+ getClass() + "'!");
}
if (arg instanceof Class) {
this.clazz = (Class<T>) arg;
} else if (arg instanceof ParameterizedType) {
this.clazz = (Class<T>) ((ParameterizedType) arg).getRawType();
} else {
throw new RuntimeException("Problem dtermining generic class for '"
+ getClass() + "'! ");
}
}
4. 注入泛型DAO时候需要添加创建属性,保证注入的对象为空的时候,让SEAM创建
@In(create = true)
private IUserDao userDao;
5. SEAM和Hibernate结合的配置,
1. 配置好hibernate本身, 也就是hibernate.cfg.xml, 运行时能在classes目录下找到就可以了
2. 在components.xml文件中添加如下配置即可
<?xml version="1.0" encoding="UTF-8"?>
<components xmlns="http://jboss.com/products/seam/components"
xmlns:core="http://jboss.com/products/seam/core" xmlns:persistence="http://jboss.com/products/seam/persistence"
xmlns:security="http://jboss.com/products/seam/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:web="http://jboss.com/products/seam/web" xmlns:transaction="http://jboss.com/products/seam/transaction"
xsi:schemaLocation="http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.2.xsd
http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.2.xsd
http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.2.xsd
http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.2.xsd
http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.2.xsd
http://jboss.com/products/seam/transaction http://jboss.com/products/seam/transaction-2.2.xsd">
<persistence:hibernate-session-factory
name="hibernateSessionFactory" />
<persistence:managed-hibernate-session
name="hibernateSession" session-factory="#{hibernateSessionFactory}"
auto-create="true" session-factory-jndi-name="java:/AquariansSessionFactory" />
<transaction:hibernate-transaction
session="#{hibernateSession}" />
</components>
6. 如果要使用Tomcat作为开发调试使用,需要参照SEAM的Reference,在Tomcat上装上embedded jboss,然后修改相应配置文件, 这里要记录的时候, 如果在Eclipse上使用WTP工程,应该对应修改WTP添加的服务器的配置文件,而不是Tomcat本身
7. 最后附带上maven的pom.xml文件到附件, 当作存档使用
分享到:
相关推荐
1、 Java环境的安装和配置 2、 JBoss环境的安装和配置 3、 Ant环境的安装和配置 4、 Seam环境的安装和配置 5、 Eclipse环境及JBoss Tools 插件的安装和配置
本文用图例的方法讲解啦JBoss Seam工程的创建过程。现在JBoss Seam工程的创建的介绍很少的。希望我的东西能对大家的学习和研究有很好的帮助!
调了半天终于可以运行了留作备份资料 seam ejb jsf 自己留作资料备份
This example demonstrates the use of Seam in a Java EE 5 environment. Transaction and persistence context management is handled by the EJB container. 搞了个小例子 自己留作资料备份
seam ejb jsf 搞了个小例子 自己留作资料备份
seam jsf 搞了个小例子 自己留作资料备份
Seam JBPM Eclipse工程例子 Seam JBPM EJB JSF 搞了个小例子 自己留作资料备份
seam_carving代码实现 图像缩放
SeamCarving的C++实现代码,使用opencv库。包含完整项目工程及测试图像,可直接使用
seam in action seam in action seam in action seam in action seam in action seam in action seam in action
JBOSS_SEAM配置
Seam 是一种业级 企 Java 的应规用程序框架。它的灵感源自下列原 : 只有一种“工具” Seam为 应 业务业业 义 种统 组 你的 用程序中所有的 定 了一 一的 件模型。 Seam组件可能是 态义 关关 态 有状 的,包含与几...
seam级联菜单例子
seam介绍
JBoss Seam JBoss Seam JBoss Seam
Seam2[1][1].0中文参考手册
seam资料seam资料seam资料seam资料seam资料seam资料seam资料seam资料
seam下一代web开发框架
seam carving的相关代码实现
seam 中文文档 pdf 格式 JSF+EJB3.0快速开发框架Seam的中文版向导。。。