[JAVA] Comment définir un bean de classe interne

Environnement de développement

introduction

C'est le dos du dépliant.

Essayez de définir la classe interne comme un bean normalement

Supposons que vous ayez défini la classe suivante. Ceci est un test de la méthode qui ajoute les deux arguments ʻint` et les renvoie.

InnerTest.java


@RunWith(SpringRunner.class)
public class InnerTest {

  @Inject
  Inner inner;

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

  /**
   *Classe intérieure pour les tests
   *
   */
  public class Inner {
    //Ajoutez simplement les valeurs des arguments et retournez
    public int add(int a, int b) {
      return a + b;
    }
  }
}

Donc, je pense que la définition du haricot est la suivante.

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>

Quand tu cours ...

Journal des erreurs


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

Pourquoi! Bean défini!

Quand j'ai cherché sur Google, il y avait une personne qui posait la même question.

How to create a Spring Bean of a Inner class?

Ou

--Connectez-vous avec $ au lieu de.

Si vous faites l'un des

Comment en êtes-vous venu à publier cet article?

Je ne sais pas s'il y a de la demande, mais en guise de note parce que j'en avais besoin pour le système que je développe en entreprise: stuck_out_tongue:. Par exemple, dans un test, si vous définissez le test Controller comme une classe interne statique, le package ne sera que la classe de test et il sera plus facile à voir: v:.

Recommended Posts

Comment définir un bean de classe interne
Comment utiliser la classe Java
Comment gérer les instances
Comment désassembler un fichier de classe Java
Comment utiliser la classe wrapper
Comment insérer une bibliothèque externe
Comment décompiler un fichier de classe Java
Comment utiliser les méthodes de classe [Java]
[Java] Comment utiliser la classe Math
Comment recadrer une image avec libGDX
[Java] Comment utiliser la classe File
Comment brouiller l'image (super facile)
Étapes pour publier une application sur Heroku
[Traitement × Java] Comment utiliser la classe
Comment utiliser la classe Java Scanner (Remarque)
[Java] Comment utiliser la classe Calendar
Comment obtenir les informations d'identification Keycloak dans la classe d'intercepteur
[Java] Comment utiliser la classe FileReader et la classe BufferedReader
Comment écrire une instruction if pour améliorer la lisibilité-java
Comment vérifier si une variable d'instance est définie dans une classe Ruby
Comment utiliser un tableau pour les clés HashMap
Comment créer une classe qui hérite des informations de classe
Comment obtenir une classe depuis Element en Java
Comment ajouter conditionnellement une classe html.erb dans Rails
Rails6.0 ~ Comment créer un environnement de développement respectueux de l'environnement
Comment résoudre les problèmes d'expression en Java
[Rails] Comment créer un environnement avec Docker
Comment définir plusieurs orm.xml dans Spring4, JPA2.1
Comment créer un fichier exécutable dans Maven
(Article sur le point d'être rédigé) Résumé de la classe
Comment créer un lecteur de musique Android imposant
Comment créer un certificat OLEORE (certificat SSL, auto-certificat)
[Java] Comment utiliser la classe Calendar et la classe Date
Comment rendre une image partiellement transparente avec le traitement
Comment installer Ruby sur une instance EC2 d'AWS
Comment pousser une application développée avec Rails vers Github
Comment faire un générateur d'oléore en utilisant Swagger Codegen
Comment écrire pour appliquer Gem Pagy (pagination) à un tableau
Comment créer et exécuter des objets de classe Méthode, Proc, Méthode
Comment standardiser les opérations sur les ensembles -Première collection de classe-
Comment utiliser et appliquer la classe JFrame / Canvas de Java
[Rails] Comment afficher les images dans la vue
Comment développer OpenSPIFe
Comment appeler AmazonSQSAsync
Comment utiliser Map
Classe à prendre en compte
Comment utiliser rbenv
Comment utiliser with_option
Comment utiliser fields_for
Comment utiliser java.util.logging
Comment utiliser collection_select
Examen de la classe interne Java
Exemple d'utilisation de classe interne