[JAVA] So definieren Sie eine Bean der inneren Klasse

Entwicklungsumgebung

Einführung

Es ist die Rückseite der Packungsbeilage.

Versuchen Sie, die innere Klasse normal als Bean zu definieren

Angenommen, Sie haben die folgende Klasse definiert. Dies ist ein Test der Methode, die die beiden ints des Arguments hinzufügt und zurückgibt.

InnerTest.java


@RunWith(SpringRunner.class)
public class InnerTest {

  @Inject
  Inner inner;

  @Test
  public void test() {
    int a = 1;
    int b = 2;
    //Behauptung
    assertThat(inner.add(a, b), equalTo(a + b));
  }

  /**
   *Innere Klasse zum Testen
   *
   */
  public class Inner {
    //Fügen Sie einfach die Werte der Argumente hinzu und geben Sie zurück
    public int add(int a, int b) {
      return a + b;
    }
  }
}

Ich denke also, dass die Bean-Definition wie folgt lautet.

InnerTest-context.xml


<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 class="example.InnerTest.Inner" />
</beans>

Wenn du rennst ...

Fehlerprotokoll


Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'example.InnerTest' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1493)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741)
	... 43 common frames omitted

Warum! Bean definiert!

Als ich googelte, stellte eine Person dieselbe Frage.

How to create a Spring Bean of a Inner class?

Oder

--Verbinden Sie sich mit $ anstelle von.

Wenn Sie eines von beiden tun

Wie bist du dazu gekommen, diesen Artikel zu posten?

Ich weiß nicht, ob Nachfrage besteht, aber als Hinweis, weil sie für das System benötigt wurde, das ich im Geschäft entwickle: stick_out_tongue :. Wenn Sie beispielsweise in einem Test den Test Controller als statische innere Klasse definieren, ist das Paket nur die Testklasse und es ist einfacher zu erkennen: v :.

Recommended Posts

So definieren Sie eine Bean der inneren Klasse
Verwendung der Java-Klasse
Umgang mit Instanzen
So zerlegen Sie eine Java-Klassendatei
Verwendung der Wrapper-Klasse
So fügen Sie eine externe Bibliothek ein
So dekompilieren Sie eine Java-Klassendatei
Verwendung von Klassenmethoden [Java]
[Java] Verwendung der Math-Klasse
So beschneiden Sie ein Bild in libGDX
[Java] Verwendung der File-Klasse
So verwischen Sie das Bild (super einfach)
Schritte zum Veröffentlichen einer Anwendung auf Heroku
[Verarbeitung × Java] Verwendung der Klasse
Verwendung der Java Scanner-Klasse (Hinweis)
[Java] Verwendung der Calendar-Klasse
So erhalten Sie Keycloak-Anmeldeinformationen in der Interceptor-Klasse
[Java] Verwendung der FileReader-Klasse und der BufferedReader-Klasse
Wie schreibe ich eine if-Anweisung, um die Lesbarkeit von Java zu verbessern?
So überprüfen Sie, ob eine Instanzvariable in einer Ruby-Klasse definiert ist
So verwenden Sie ein Array für HashMap-Schlüssel
So erstellen Sie eine Klasse, die Klasseninformationen erbt
So erhalten Sie eine Klasse von Element in Java
So fügen Sie die html.erb-Klasse in Rails bedingt hinzu
Rails6.0 ~ So erstellen Sie eine umweltfreundliche Entwicklungsumgebung
So lösen Sie Ausdrucksprobleme in Java
[Rails] So erstellen Sie eine Umgebung mit Docker
So definieren Sie mehrere orm.xml in Spring4, JPA2.1
So erstellen Sie ein ausführbares JAR in Maven
(Artikel wird gerade geschrieben) Zusammenfassung der inneren Klasse
Wie man einen imposanten Android-Musikplayer macht
So erstellen Sie ein Oleore-Zertifikat (SSL-Zertifikat, Selbstzertifikat)
[Java] Verwendung der Kalenderklasse und der Datumsklasse
So machen Sie ein Bild mit Processing teilweise transparent
So installieren Sie Ruby auf einer EC2-Instanz von AWS
So pushen Sie mit Rails entwickelte Apps an Github
Wie man einen Oleore-Generator mit Swagger Codegen herstellt
Wie schreibe ich, um Edelstein Pagy (Pagenation) auf ein Array anzuwenden
Erstellen und Ausführen von Methoden-, Proc- und Methodenklassenobjekten
So standardisieren Sie Operationen an Mengen - Sammlung erster Klassen -
Verwendung und Anwendung der JFrame / Canvas-Klasse von Java
[Schienen] So zeigen Sie Bilder in der Ansicht an
So entwickeln Sie OpenSPIFe
So rufen Sie AmazonSQSAsync auf
Verwendung von Map
Klasse zu zählen
Wie benutzt man rbenv?
Verwendung mit_option
Verwendung von fields_for
Verwendung von java.util.logging
Verwendung von collection_select
Überprüfung der Java-Innenklasse
Anwendungsbeispiel für die innere Klasse