action层
BaseAction.java
package common.action;
import java.text.SimpleDateFormat;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;import common.serive.BaseService;
import common.serive.BasicHibernateSerive;@SuppressWarnings("serial")
public class BaseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware,SessionAware {
protected HttpServletRequest request;
protected HttpServletResponse response;
@SuppressWarnings("unchecked")
protected Map map;
public BasicHibernateSerive basicHibernateSerive; protected void setHead(){
response.setCharacterEncoding("utf-8");
}
public String execute() throws Exception {
return null;
}
/**
* @param request the request to set
*/
public void setServletRequest(HttpServletRequest request) {
this.request = request;
} /**
* @param response the response to set
*/
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
/**
*/
public void setSession(Map<String, Object> arg0) {
this.map = arg0;
}public void setBasicHibernateSerive(BasicHibernateSerive basicHibernateSerive) {
this.basicHibernateSerive = basicHibernateSerive;
}
}
Serive层
BasicHibernateSerive.javapackage common.serive;import common.HibernateDao.Dao;
public class BasicHibernateSerive {
public void setDao(Dao dao) {
this.dao = dao;
}}
impl层
BaiscHibernateImpl.java
package common.dao.impl;import java.util.Iterator;import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import common.HibernateDao.Dao;public class BaiscHibernateImpl extends HibernateDaoSupport implements Dao{
public BaiscHibernateImpl() {
}
public <T> Iterator<T> save(String hql) {
Query query = getSession().createQuery(hql);
return query.iterate();
}
public void save(Object obj){
getSession().save(obj);
} public <T> T queryOneResult(String hql) {
Query query = getSession().createQuery(hql);
query.setMaxResults(1);
return (T)query.uniqueResult();
}
}
spring配置如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans default-lazy-init="true">
<!-- 基础配置文件,应用全局相关的spring对象配置 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:global.properties</value>
</list>
</property>
</bean> <bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName"
value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="${jdbc.initialSize}" />
<property name="maxActive" value="${jdbc.maxActive}"/>
<property name="maxIdle" value="${jdbc.maxIdle}"/>
<property name="accessToUnderlyingConnectionAllowed" value="true" />
</bean> <bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" lazy-init="false">
<property name="dataSource" ref="dataSource" />
<property name="configLocation"
value="classpath:hibernate.cfg.xml" />
</bean> <!-- transactionManager (Hibernate3) -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean> <!-- 事务对象代理(模版)-->
<bean id="baseTransactionProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="genericHibernateDao"
class="common.dao.impl.BaiscHibernateImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean name="basicService" parent="baseTransactionProxy">
<property name="target">
<bean class="common.serive.BasicHibernateSerive">
<property name="dao" ref="genericHibernateDao" />
</bean>
</property>
</bean>
</beans>
请问我这哪配置不对,为什么this.basicHibernateSerive.dao为什么为null
BaseAction.java
package common.action;
import java.text.SimpleDateFormat;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;import common.serive.BaseService;
import common.serive.BasicHibernateSerive;@SuppressWarnings("serial")
public class BaseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware,SessionAware {
protected HttpServletRequest request;
protected HttpServletResponse response;
@SuppressWarnings("unchecked")
protected Map map;
public BasicHibernateSerive basicHibernateSerive; protected void setHead(){
response.setCharacterEncoding("utf-8");
}
public String execute() throws Exception {
return null;
}
/**
* @param request the request to set
*/
public void setServletRequest(HttpServletRequest request) {
this.request = request;
} /**
* @param response the response to set
*/
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
/**
*/
public void setSession(Map<String, Object> arg0) {
this.map = arg0;
}public void setBasicHibernateSerive(BasicHibernateSerive basicHibernateSerive) {
this.basicHibernateSerive = basicHibernateSerive;
}
}
Serive层
BasicHibernateSerive.javapackage common.serive;import common.HibernateDao.Dao;
public class BasicHibernateSerive {
public void setDao(Dao dao) {
this.dao = dao;
}}
impl层
BaiscHibernateImpl.java
package common.dao.impl;import java.util.Iterator;import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import common.HibernateDao.Dao;public class BaiscHibernateImpl extends HibernateDaoSupport implements Dao{
public BaiscHibernateImpl() {
}
public <T> Iterator<T> save(String hql) {
Query query = getSession().createQuery(hql);
return query.iterate();
}
public void save(Object obj){
getSession().save(obj);
} public <T> T queryOneResult(String hql) {
Query query = getSession().createQuery(hql);
query.setMaxResults(1);
return (T)query.uniqueResult();
}
}
spring配置如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans default-lazy-init="true">
<!-- 基础配置文件,应用全局相关的spring对象配置 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:global.properties</value>
</list>
</property>
</bean> <bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName"
value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="${jdbc.initialSize}" />
<property name="maxActive" value="${jdbc.maxActive}"/>
<property name="maxIdle" value="${jdbc.maxIdle}"/>
<property name="accessToUnderlyingConnectionAllowed" value="true" />
</bean> <bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" lazy-init="false">
<property name="dataSource" ref="dataSource" />
<property name="configLocation"
value="classpath:hibernate.cfg.xml" />
</bean> <!-- transactionManager (Hibernate3) -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean> <!-- 事务对象代理(模版)-->
<bean id="baseTransactionProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="genericHibernateDao"
class="common.dao.impl.BaiscHibernateImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean name="basicService" parent="baseTransactionProxy">
<property name="target">
<bean class="common.serive.BasicHibernateSerive">
<property name="dao" ref="genericHibernateDao" />
</bean>
</property>
</bean>
</beans>
请问我这哪配置不对,为什么this.basicHibernateSerive.dao为什么为null
解决方案 »
- spring2.56+openjpa1.22 org.apache.openjpa.persistence.PersistenceException:null
- 求解?
- JSTL1.0 与JSTL1.1中 配置上的不同
- Spring中的SpringMVC,Spring Portal MVC和Spring Web Flow三者间的关系?
- 在jsp url中传递中文(焦急)
- 下载框架
- 谁帮我看看这个问题,昨天搞了一天也每搞定
- 求助
- 数组赋值
- hibernate查询问题
- 关于Failed to obtain specified collection错误
- netbeans7.0.1自带的glassfish3.1只能启动一次
如果要贴代码的话,就以代码的形式贴上去,这样会方便查看的
比如你的一部分xml配置文件:
<bean id="genericHibernateDao"
class="common.dao.impl.BaiscHibernateImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean name="basicService" parent="baseTransactionProxy">
<property name="target">
<bean class="common.serive.BasicHibernateSerive">
<property name="dao" ref="genericHibernateDao" />
</bean>
</property>
</bean>