Springanfänger-Frage

thoser

Mitglied
Ich mache gerade meine ersten Schritte mit Spring 3. Dazu habe ich dieses http://www.java-forum.org/blogs/tfa/27-how-dependency-injection-spring.html Tutorial durchgearbeitet, was auch funktionierte (mit dem Unterschied das ich die 2 Controller in jeweils ein eigenes File packte und auch die Config-Klasse und -Interface splittete.)
Nun habe ich die Controller und die Config-Klasse|Interface in ein eigenes Package verschoben. Jetzt meldet der STS aber:

ReadController cannot be resolved to a type
WriteController cannot be resolved to a type


Wo liegt der Fehler?
 
Hi,
da ich davon ausgehe, das du die Packagenamen im Spring-Context nach dem Splitten auch angepaßt hast, würde ich einfach mal ein Project->Clean in Eclipse machen. Wenn das nicht hilft, solltest du doch mal deine context.xml posten.

Grüße,
Peter
 
Das half leider nicht.

Ich poste mal die Bestandteile, die ich angepasst habe.

Java:
package konfiguration;

import java.util.HashMap;
import java.util.Map;

import konfiguration.iface.IKonfig;



public class Konfig implements IKonfig
...

Java:
package konfiguration.iface;

public interface IKonfig

Java:
package demo;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main

Java:
package controller;

import org.springframework.beans.factory.annotation.Autowired;

public class WriteController
{
	// Config-Objekt wird von Spring injiziert.
   @Autowired
   private Konfig conf;

der ReadController ist identisch (logischerweise mit dem Namen ReadController)

hier die applicationContext.xml
XML:
<?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.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

	<context:annotation-config />
    
    <bean id="configBean"	class = "konfiguration.Konfig" />
      <bean id="reader"     class="controller.ReadController" />
    <bean id="writer"     class="controller.WriteController" />
	

</beans>

Was ich vorhin vergessen hatte zu erwähnen ist, das die Konfig auch nicht gefunden wird.
Die Context.xml scheint die Dateien zu finden, denn wenn ich den Klassennamen ändere, wird dies bemängelt.
 
Zuletzt bearbeitet von einem Moderator:
Hi,
ich hab dein Beispiel mal nachprogrammiert, läuft bei mir einwandfrei! Es liegt dann wohl wahrscheinlich an Eclipse bzw. STS. Hast du denn die appContext.xml bzw. den conf-Ordner auch wirklich mit im Classpath?

Grüße
Peter
 
Ja. Die Kontext-Datei ist im Classpath.

Denn wenn ich in der Main.java die Zeilen mit dem Controller auskommentiere, erscheint:

Code:
15.04.2010 15:12:22 org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@1c695a6: startup date [Thu Apr 15 15:12:22 CEST 2010]; root of context hierarchy
15.04.2010 15:12:22 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
15.04.2010 15:12:22 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@63a721: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,configBean,reader,writer]; root of factory hierarchy
...

Also scheint er die Beans zu laden, spring weist sie nur nicht zu.
 
Mhm,

weiß jetzt auch nicht, wie gesagt, bei mir läufts! Ich kann dir meins schicken oder meine Klassen posten, aber ich weiß nicht, ob dir das hilft. Ich denke, es hat eher was mit deinen Projekteinsstellungen in Eclipse zu tun. Alle Libs im Path, usw...

Grüße
Peter
 
Hi,

ich glaube zwar auch das irgendeine Einstellung nicht passt aber könntest du mir dein Projekt schicken? Vielleicht finde ich ja heraus was nicht funktioniert.
 

Neue Beiträge

Zurück