我是一个新的Spring,并在某些方面被卡住了,如下所述-
我有一个类color,它有两个不同的实现名,分别是Red和Blue,我想使用@inject
将这两个实现名都注入color列表中。
Below is my ApplicationConfiguration class
package org.arpit.java2blog.config;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.inject.Inject;
import org.arpit.java2blog.model.Country;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@Import(CountryConfig.class)
public class ApplicationConfiguration {
@Inject
private List<Color> colorList;
@Bean
public List<Color> colorList() {
System.out.println("Second");
List<Color> aList = new ArrayList<Color>();
aList.add(new Blue());
return aList;
}
}
但将异常获取为
自动连线依赖项的注入失败;嵌套html" target="_blank">异常为org.springframework.beans.factory.beanCreationException:无法自动连接字段:private java.util.list org.arpit.java2blog.config.applicationconfiguration.colorlist;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到依赖项[org.arpit.java2blog.config.color]类型的合格bean[org.arpit.java2blog.config.color]:至少需要一个合格的bean作为此依赖项的自动候选项。依赖项注释:{@javax.inject.inject()}
使用@inject
填充ColorList
的正确方法如以下代码所示,其中包含内联注释:
@Configuration
@Import(CountryConfig.class)
public class ApplicationConfiguration {
@Inject
private List<Color> colorList;
@Bean
public Color color() {
return new Blue();//injects Blue object to colorList
}
@Bean
public Color color() {
return new Red();//injects Red object to colorList
}
}
此外,您还可以很好地使用@order
在内部colorlist
的特定索引处注入color
对象,如这里的Spring文档所述。
如果我从red和blue类中删除@component注释,并且在删除component之后只提供一个bean类型,那么该解决方案可以很好地工作
当您用@component
标记bean类(对于任何Spring原型注释都是这样)时,bean将符合注入条件,并自动加载到colorlist
中。因此,当您提供@bean
注释方法并再给出一个对象时,该对象也将添加到列表中,但通常情况下,您将使用@component
或@bean
加载列表,但不能同时使用这两种方法。
问题内容: 不合理,无法通过注释而不是纯XML Bean来配置Spring Bean,现在我正面临后果。 我使用以下方式配置REST通道 现在,我只需要简单地将设置为仅将此具有非null值的字段输出到JSON。我尝试了以下方法: Bean被创建,但是转换器的另一个实例已创建并在通道中使用。所以我已经尝试过这种方法并在Stackoverflow问题中进行了描述,但是json序列化仍然使用其自己的配置
最后,我尝试通过 但我以结束。所以现在我别无选择,所以我在这里征求任何想法。如何控制和配置框架使用的映射器?
在Spring Hibernate XML配置中,我有 我知道SpringJava配置的等价物如下:LocalSessionFactoryBuilder(dataSource())。AddAnnotatedClass(Foo.class)。buildSessionFactory(); 我的问题是,如果我不使用LocalSessionFactoryBuilder类,而是使用HibernateJpaV
我正在用Java Swing制作一个游戏,其中有一个大POJO用来存储游戏的运行时数据,比如精灵的位置、当前显示的效果等等。我希望能够将其作为JSON保存到一个文件中,然后在以后重新构建。我发现Gson应该就是这么做的,但到目前为止我还没能让它工作。我总是遇到这样一个问题:它无法使嵌套在存储类中的某些变量可访问。 以下是我目前使用Gson的方式: 以下是我当前尝试使用时收到的错误消息: 是我在开头
问题内容: 在最近我从事的一些大型项目中,选择其中一种(XML或注释)似乎变得越来越重要。随着项目的发展,一致性对于可维护性非常重要。 我的问题是:与基于注释的配置相比,基于XML的配置有哪些优势?与基于XML的配置相比,基于注释的配置有哪些优势? 问题答案: 注释有其用途,但它们不是杀死XML配置的灵丹妙药。我建议将两者混合! 例如,如果使用Spring,则将XML用于应用程序的依赖注入部分是完
我有一个基于泽西2的项目,Guice 3.0技术。由于泽西2框架使用HK2,我必须配置HK2-Guice桥。 JerseyGuiceServletContextListener: 球衣配置: 如果我使用注解,一切都很好。但是当我使用注解时,我的类属性不会注入 如何使用com。谷歌。注射注入注释?