当前位置: 首页 > 知识库问答 >
问题:

Spring 3默认bean

印劲
2023-03-14

我已经研究过这个问题:Spring3:注入默认Bean,除非存在另一个Bean,如果您知道所有Bean的名称,Java配置中显示的解决方案将很好地工作,但在我的情况下,我不知道Bean被称为什么。

有人知道有什么办法可以做到这一点吗?

共有1个答案

林承悦
2023-03-14

将默认定义为默认,只需确保bean的名称相同,配置文件中的bean将覆盖默认的bean。

<beans>

    <!-- The default datasource -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    </bean>

    <beans profile="jndi">
        <jndi:lookup id="dataSource" jndi-name="jdbc/db" />
    </beans>

</beans>

这个构造也可以用于基于Java的配置。

 @Configuration
 public DefaultConfig {

      @Bean
      public DataSource dataSource() { ... }

      @Configuration
      @Profile("jndi")
      public static class JndiConfig {

          @Bean
          public DataSource dataSource() { ... // JNDI lookup }
      }

 }

当使用基于java的配置时,您还可以指定一个默认值,并在另一个配置中添加该类型的另一个bean,并用@primary对其进行注释。当找到多个实例时,应该使用带有@primary的实例。

@Configuration
public DefaultConfig {

     @Bean
     public DataSource dataSource() { ... }
}

@Configuration
@Profile("jndi")
public class JndiConfig {

    @Bean
    @Primary
    public DataSource jndiDataSource() { ... // JNDI lookup }
} 
 类似资料:
  • 我目前正在使用vscode和apachepoi,创建了一个程序来自动创建<code>。xlsx编程并让A1单元输入一个名为“Tester”的字符串,然后弹出错误。 我程序中的代码: 错误代码: 嗯.xml( Apache POI对我来说是新的,请帮助我,我会非常感激,非常感谢。

  • 入口方法或适配器或其他原因导致异常时需要走的视图,依然是打开MainModule,加入代码 @Fail("jsp:jsp.500") 含义就是内部重定向到/WEB-INF/jsp/500.jsp页面 打开web.xml, 加入如下配置 <error-page> <error-code>500</error-code> <location>/WEB-INF/

  • 这个项目以json交互为主,所以,默认用json视图好了. 打开MainModule,加入代码 @Ok("json:full") 这里的json指UTF8JsonView类, 后面的full是JsonFormat的其中一种内置格式的缩写: 默认 -- 忽略空值,换行,key不带双引号, 新版jquery不兼容 full -- 不忽略空值,换行,key带双引号, 新版jquery兼容 compac

  • 注:内容翻译自官网文档 Language Guide (proto3) 中的 Default Values 一节 当消息被解析时, 如果被编码的消息没有包含特定的简单元素, 被解析的对象对应的字段被设置为默认值. 默认值是和类型有关的: 对于strings, 默认值是空字符串(注, 是"", 而不是null) 对于bytes, 默认值是空字节(注, 应该是byte[0], 注意这里也不是null)

  • 主要内容:在创建表时设置默认值约束,在修改表时添加默认值约束,删除默认值约束默认值(Default)的完整称呼是“默认值约束(Default Constraint)”,用来指定某列的默认值。在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值。 例如,员工信息表中,部门位置在北京的较多,那么部门位置就可以默认为“北京”,系统就会自动为这个字段赋值为“北京”。 默认值约束通常用在已经设置了非空约束的列,这样能够防止数据表在录入数据时出现错误。 在

  • 我正在开发一个JPA应用程序,并且我正在使用eclipse链接提供程序。 我有一个表T1,其中有一个字段F1定义为非null,并且有一个默认值(“U”)。 我已经定义了一个映射到表T1的实体。该实体有一个映射到字段F1的属性,我已经用注释@ReturnInsert(returnOnly=true)配置了该属性。 文件说明: 使用@返回插入使INSERT操作将值返回到正在写入的对象中 如果在映射到F