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

用@Component注释类时,是否表示它是Spring Bean和Singleton?

诸葛利
2023-03-14
问题内容

对Spring来说还很新,我有一个关于注释类的问题。用注释类时,@Component是否意味着该类将是Spring Bean,默认情况下是单例?


问题答案:

是的,没错,是@ComponentSpring bean和Singleton。

如果类属于服务层你可能需要使用注释它@Service而不是

但是请记住,为了检测到这些批注,你需要将以下行放在applicationContext.xml

<context:component-scan base-package="com.yourcompany" />

关于单例-缺省情况下,spring bean都在单例范围内。你唯一需要记住的是你不应该将状态存储在字段变量中(它们应该仅包含依赖项)。因此,你的应用程序将是线程安全的,并且你不需要每次都需要一个新的bean实例。换句话说,你的bean是无状态的。



 类似资料:
  • 我写了一个示例Spring启动应用程序,它无法运行消息 `描述:com中的customerRepository字段。hibernatetutorial。服务CustomerServiceImpl需要“com”类型的bean。hibernatetutorial。存储库。找不到CustomerRepository“”。 操作:考虑在您的配置中定义类型为“com.hibernatetutorial.re

  • 问题内容: 我正在使用反射来查看附加到类的属性的注释是否具有特定类型。目前我正在做: 这让我有些不高兴,因为它依赖于完全合格的类名称的字符串。如果将来更改命名空间,则可能会导致细微的错误。 我想要做: 但是是抽象类,无法实例化。有没有一种方法可以针对接口或抽象类进行模拟(或基本上使用)? 问题答案: 你只是在寻找 ?

  • 如果用注释对类进行注释,那么为了使用该类,该注释的定义必须在运行时类路径中吗?例如,给定注释 我能执行这个程序吗 类路径中没有component.class?(在我的测试中,我可以,但这个行为是由规范定义的吗?) 我这样问是因为有相互矛盾的说法,即使用库中的注释是否会创建对该库的依赖关系。

  • 给定一个具有用于初始化的帮助器方法的类: 是否可以从\u int方法注释

  • 我的目标是将以前使用Spring Boot 1.3开发的Spring Boot应用程序迁移到最新的Spring Boot 1.4版本。该应用程序由几个maven模块组成,其中只有一个包含用SpringBootApplication注释的类。 迁移的一部分是使用WebMvcTest注释来有效地测试控制器,这里我遇到了一个问题。 考虑Spring Boot github页面中的一个示例应用程序<代码>

  • 我有一个被注释为的类,然后将其添加到另一个类中。但是,我需要删除这个注释,而是在以前自动连线它的类中用一个注释方法创建它。 以前的类看起来像: ...或者我直接调用这个方法(在我看来不是正确的方法): …或者这两个都不正确?