java - Servlet 3.0 Spring Java 配置 JNDI

标签 java spring config servlet-3.0

我正在尝试在我的 Spring Web 应用程序 WebApplicationInitializer 中复制 web.xmlresource-ref 属性来配置 JNDI。

我该怎么做:

<resource-ref>
<description>Connection Pool</description>
<res-ref-name>jdbc/LocalCheddar</res-ref-name>
<res-type>javax.sql.Datasource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

在 java config 中而不是在 xml 中?

最佳答案

查看 servlet 3.0 的规范,我发现了 @Resource 注释。而不是在我的 WebApplicationInitializer 类中,它现在在我的 WebConfig 类中。

@Bean
@Resource(name="jdbc/MyDB")
public DataSource dataSourceLookup() {
    final JndiDataSourceLookup dsLookup = new JndiDataSourceLookup();
    dsLookup.setResourceRef(true);
    DataSource dataSource = dsLookup.getDataSource("java:comp/env/jdbc/MyDB");
    return dataSource;
}

关于java - Servlet 3.0 Spring Java 配置 JNDI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16728677/

相关文章:

emacs - 为不同的主要模式将 font-lock-face 设置为不同的值

c# - Java 中 Regex 替换上的自定义函数

java - 向 Calcite 添加用户定义的函数

java - 为什么 s3fs 不能像使用 Apache MINA SSHD 的普通文件系统一样工作?

java - 在spring中以编程方式获取JNDI资源

git - 为什么 Git 即使在配置之后也不允许我提交?

java - 无法使用 Marionette/Firefox 驱动程序截取屏幕截图

java - 我是否必须将 Controller 拆分为多个端点,这些端点代表更复杂对象的组件的 CRUD 操作?

java - 可以找到元素 'context:property-placeholder' 的声明。 Spring 4

perl - 如何在 HPC 环境中最好地管理安装在集中且自定义位置的多个版本的 Perl?