C'est le dos du dépliant.
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
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