spring - Maven 配置文件、Spring、JDBC 和 JNDI 数据源

标签 spring jdbc maven jndi

我有一个使用 Maven 的 Spring 项目,并有几个配置文件,允许它在具有资源过滤的不同设置上运行。有些设置有 JNDI,有些没有。对于不需要 JDBC 数据源的那些。

鉴于我的设置,处理此问题的最佳方法是什么?我想避免对多个文件和 ant-run 或类似的东西做任何事情。这给我留下了:

  • 设置两个 bean 并过滤我的资源以包含其中一个。
  • 有什么我没想到的?

  • 这是第一个项目符号的示例:
    <bean id="jdbcDataSource"
        class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close"
        p:driverClassName="${jdbc.driver}"
        p:url="${jdbc.url}"
        p:username="${jdbc.username}"
        p:password="${jdbc.password}"/>
    
    <bean id="jndiDataSource" class="org.springframework.jndi.JndiObjectFactoryBean"
        p:jndiName="${jndi.name}" />
    
    <bean id="someBean" class="com.whatever.SomeBeanImpl"
        p:dataSource-ref="${dataSource}"/>
    

    我很想知道人们通过其他方式完成了这项工作,以及他们采用该解决方案的原因。或者他们是否采用了这个解决方案以及为什么。

    最佳答案

    Spring 3.1 本身提供了配置文件支持。在 Spring 的世界里,它被称为环境。 Look here更多细节。

    关于spring - Maven 配置文件、Spring、JDBC 和 JNDI 数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6033345/

    相关文章:

    Java 错误 - lambda 表达式在 -source 1.5 中不受支持(使用 -source 8 或更高版本来启用 lambda 表达式)

    java - 如何有条件地添加(或修改)ContextConfigLocation 到 web.xml?

    spring - 如何将用户定义的属性值应用于@RequestMapping

    java - spring boot 服务器 + java 客户端

    java - ($Proxy6) org.postgresql.jdbc4.Jdbc4Connection@5894585b,这是什么意思?

    mysql - 配置 glassfish 以部署 .war 并使用 jdbc

    java - 如何从服务方法延迟加载集合?

    java - 程序崩溃时如何避免连接泄漏

    maven - 将 Maven Cargo artifactInstaller 用于 GlassFish 3.x

    java - Maven 构建配置文件激活