简体   繁体   中英

Problems using Spring Hibernate

I've been using Spring JDBC with great success but I am having alot of trouble with this project. I'll post the code links here(it's just a small and silly project to test if I can get it up and running so that I can use Hibernate in the future):

xml-file: http://codepaste.net/uw19zc

main-file: http://codepaste.net/iks1cp

I get tons of errors such as

[Fatal Error] bean2.out.xml:1:1: Premature end of file.
13:21:39,471 FATAL [main] Main  - getAssociatedStylesheets failed

and I haven't created a.out.xml file.

This error is due to incorrect parsing of the xml file. Using Eclipse to validate it gives the error:

cvc-complex-type.2.3: Element 'beans' cannot have character [children], because the type's content type is element-only.

There appears to be some strange character in between one or many of those <bean> declarations. Have you copied this text from somewhere else?

Remove all spaces and newline characters between <bean> definitions and put them back with your editor.

UPDATE Copying & pasting into notepad++ the text in the codepaste you provided, and setting the charset to UTF-8 showed these characters in the blank lines: xA0 . This is the standard Unicode translation for &nbsp; . This is likely to be the cause of this problem.

This validates ok for me:

<?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.xsd">
     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/HibernateDB" />
        <property name="username" value="HibernateDB" />
        <property name="password" value="java" />
    </bean>
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />
        <property name="annotatedClasses">
            <list>
                <value>hdao.HibernateObject</value>
            </list>
        </property>
    </bean><bean id="springHibernateOperator" class="hdao.SpringHibernateOperatorImplementation">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
</beans>

如果您在linux中,请使用cat -v file-name.xml在xml文件中检测特殊的“不可见”字符,如“M-BM-”

Sometimes there are hidden characters in dependencies or some bean definitions, which you copy from some tutorial's website. best way to find out those hidden characters do a `

ctrl + shift + F

this will format your document and you can see that hidden character in between some tag `

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM