当前位置: 首页 > 面试题库 >

使用@Component和@Autowired时的Spring bean基本属性?

漆雕宏浚
2023-03-14
问题内容

如何为bean的原始属性设置值?

由于我们有@Component注释,@Autowired注释也用于绑定实例依赖项,那么原始属性又如何呢?

@Component
class Person{
@Autowired
Address address;

int age /// what about this one?
}

问题答案:

对于基元,可以使用@Value注释。通常的情况是,PropertyPlaceholderConfigurer从的属性文件中加载值,然后@Value("${property.key}")

您还可以将值定义为bean,这是比较古老的:

<bean id="foo" class="java.lang.Integer" factory-method="valueOf">
    <constructor-arg value="20" />
</bean>

然后

@Autowired
@Qualifier("foo")
private int foo;


 类似资料:
  • 我有一个包含3种方法的服务类,服务类也使用一些@Autowired注释。在3种方法中,我想模拟两种方法,但对第三种方法使用真实方法。 问题是: < li >如果我将@Autowired与@Spy一起使用,所有三个real方法实现都将被调用。 < li >如果我只使用@Spy,对real方法的调用返回空指针,因为没有自动连线对象的初始化。

  • 我有豆子,例如 服务(特定服务)是使用抽象方法初始化()扩展抽象类MyService并使用方法特定的Logic()实现接口MyInterface的类。 因此,管理器在服务对象上调用方法init(),如下所示: 但当bean初始化时,我有以下问题: 无法转换“java.util”类型的属性值。将LinkedHashSet设置为所需类型“java.util”。设置“for property”“serv

  • 我在下面的应用程序上下文xml上有这些配置 我在加载上下文时遇到以下异常 组织。springframework。豆。工厂UnsatifiedPendencyException:创建名为“org”的bean时出错。springframework。上下文支持在类路径资源[dbaccessContext.xml]中定义的PropertySourcesPlaceholderConfigurer#0]:通过

  • 问题内容: 它们之间是否有区别,是否有任何条件可以使用一种而不是另一种? 问题答案: 据我从Javadocs了解,JFrame.add称为后者。这是避免AWT框架与Swings JFrame之间不兼容的一种便捷方法。 从javadocs的JFrame: JFrame类与Frame略有不兼容。像所有其他JFC / Swing顶级容器一样,JFrame包含JRootPane作为其唯一的子级。根窗格提供

  • 组件是 Vuejs中最最重要的部分. 每一个页面文件( .vue) 都可以认为是一个组件. 当然,这里说的内容, 跟 官方文档的"原始组件" 不是一个东西. 本章的内容,仅使用于" webpack 项目"中的组件. 对应的文档是: 单文件组件 在Vuejs 1.x中, 组件跟 视图 是分别放到不同的文件夹下面的. 在Vuejs 2.8以后, 所有的视图文件,都保存到 'components' 目录

  • 当然,像integer,float或者boolean等类型仍然存在,但是它们全部都会作为对象存在的。基本类型的名字和它们工作方式都是与Java非常相似的,但是有一些不同之处你可能需要考虑到: 数字类型中不会自动转型。举个例子,你不能给Double变量分配一个Int。必须要做一个明确的类型转换,可以使用众多的函数之一: val i:Int=7 val d: Double = i.toDouble()