已有101人关注
关于类型转换的疑问
发表在Java图书答疑 2011-05-29
是否精华
版块置顶:
通过《Java项目开发实例自学手册》一书中的医药进销存学习spring框架的使用
其中,spring的配置文件有如下一段
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <property name="sessionFactory">
  <ref local="sessionFactory" /> 
  </property>
  </bean>
- <bean id="DAO" class="com.erp.dao.DaoSupport">
- <property name="sessionFactory">
  <ref local="sessionFactory" /> 
  </property>
  </bean>
- <bean id="DAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
- <property name="transactionManager">
  <ref bean="transactionManager" /> 
  </property>
- <property name="target">
  <ref local="DAO" /> 
  </property>
  <property name="proxyTargetClass" value="true" /> 
- <property name="transactionAttributes">
- <props>
  <prop key="insert*">PROPAGATION_REQUIRED</prop> 
  <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop> 
  </props>
  </property>
  </bean>
然后,在adapter类中有如下初始化方法让我产生疑问:
public boolean getdao(){
        try{
            this.resource = new ClassPathResource("appcontext.xml",getClass());
            this.factory = new XmlBeanFactory(resource);
            this.dao = (DaoSupport) factory.getBean("DAOProxy");
            return true;
        }catch(Exception e){
            e.printStackTrace();
            JF_view_error error = new JF_view_error(e.getMessage());
            error.setTitle("初始化数据连接失败,错误信息如下:");
            return false;
        }
    }

 this.dao = (DaoSupport) factory.getBean("DAOProxy");
按照配置文件可知
此句等同于:
  DaoSupport  dao = (DaoSupport) new TransactionProxyFactoryBean();
DaoSupport为HibernateDaoSupport的子类
不同类型的类,怎么可以强制转换呢?
虽然说隔着一层spring的工厂配置,在编译时肯定发现不了错误,但在运行时,代码也能行正常,想请教这个问题.是哪里
分享到:
精彩评论 2
aster
学分:0 LV1
TA的每日心情
开心
2023-01-31 09:41:43
2011-05-30
沙发
读者您好:您可以查看一下TransactionProxyFactoryBean类的源代码。
sinvph
学分:0 LV1
TA的每日心情
加油
2021-11-18 08:43:53
2011-06-01
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
读者您好:您可以查看一下TransactionProxyFactoryBean类的源代码。
[/FIELDSET]

回复:
  这样子的回复不如不回复

一点建设性意义都没有
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照