[Spring Framework] Problem z uruchomieniem Aplikacji

0

Witam
Jestem pocztkujący wieć wybaczcie wszelkie wpadki.
Mam taki problem - napisałem aplikacje wczytującą dane z bazy, z użyciem Spring. Pracowałem w NetBeans 6.1. Używam bibliotek Spring 2.5 (defaultowo w NetB 6.1) , JDK 1.5.
plik konfiguracyjny XML wzgląda tak:

<?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-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">

<context:component-scan base-package="spring"/>

<bean id="Lekarz"  class="spring.Lekarz" />   
             <property name="ID" ref="Lekarz"  value="1"/>
            <property name="imie" ref="Lekarz" value="" />
            <property name="nazwisko" ref="Lekarz" value=""/>
            <property name="pesel" ref="Lekarz" value=""/>
            <property name="ulica" ref="Lekarz" value=""/>
            <property name="numerdomu"  ref="Lekarz" value=""/>
            <property name="kodpocztowy" value=""/>
            <property name="miasto" ref="Lekarz" value=""/>
            <property name="telefon" ref="Lekarz" value=""/>
            <property name="nrleglek" ref="Lekarz" value=""/>
            <property name="datazatrud" ref="Lekarz"  value=""/>
            <property name="haslo" ref="Lekarz" value=""/>
    </bean>      
<bean id="Polacz" class="spring.Polacz"/>
            <property name="query" ref="Lekarz" value="select * from Lekarze"/>
</bean> 
<bean id="Date" class="spring.Date" ref="import java.util.Date" /> </bean> 
</beans>

Klasa Lekarz , Polacz i Date sa raczej OK, w klasach nie ma konstruktorów są tylko funkcje set i get dla każdej zmiennej (public).

W aplikacji wywołuje Bean'sy w taki sposób :
import com.sun.corba.se.impl.protocol.giopmsgheaders.Message;
import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.;
import org.springframework.beans.factory.xml.
;
import org.springframework.beans.factory.support.;
import java.sql.SQLData;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.
;
public class MainFrame extends javax.swing.JFrame {

public int ID=1;
public int temp_ID=1;
String temp_Data="";
String temp_Haslo="";

// Resource xmlConfigFile=new ClassPathResource("sp.xml");
//ApplicationContext ctx=new ClassPathXmlApplicationContext("sp.xml");
Resource XmlConfigFile = new ClassPathResource("sp.xml");
XmlBeanFactory beanfactory = new XmlBeanFactory(XmlConfigFile);
Lekarz Lekarz =(Lekarz) beanfactory.getBean("Lekarz");
Polacz Polacz = (Polacz)beanfactory.getBean("Polacz");
Date Date = (Date)beanfactory.getBean("Date");

Podczas uruchomiania dostaje taki błąd:

2008-06-16 1218 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [sp.xml]
Exception in thread "AWT-EventQueue-0" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 14 in XML document from class path resource [sp.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'property'. One of '{"http://www.springframework.org/schema/beans":import, "http://www.springframework.org/schema/beans":alias, "http://www.springframework.org/schema/beans":bean, WC[##other:"http://www.springframework.org/schema/beans"]}' is expected.
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:369)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:313)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:290)
at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:73)
at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:61)
at spring.MainFrame.<init>(MainFrame.java:57)
at spring.MainFrame$13.run(MainFrame.java:1017

Bardzo prosiłbym o jakąś rade. Jak coś nie tak przekleiłem to wybaczcie.
Mój mail [email protected]

0
<property name="ID" ref="Lekarz" value="1" /> Albo dajesz ref albo value. Co przez taką konstrukcje chciałeś osiągnąć ?
0

Witam
Tzn na poczatku bylo bez ref , dodalem ref zeby zobaczyc czy cos sie nie poprawi tak droga experymentu , obecnie skasowalem ref. Dzieki za zainteresowanie! Pozdrawiam

0

W ogóle to ref="Lekarz" przy każdym atrybucie w klasie Lekarz jest bez sensu.
Atrybuty proste, które są typu String, Integer, Long itp. ustawia się przez value.
Natomiast atrybuty, które odwołują się do innych klas (beanów) ustawia się przez ref.
Dlatego albo ref, albo value.
Nie ma sensu odwoływać się do tej samej klasy, bo przecież w Javie masz do tego "this".

Dziwnie też mi wygląda to zapytanie w pliku XML. Ogólnie zapytań tam się nie wrzuca.
Polecam lekturę podręcznika do Springa rozdział o IoC Container (chyba drugi) a później czegoś do pracy z bazami danych np. Hibernate.

1 użytkowników online, w tym zalogowanych: 0, gości: 1