Servlet 3.0 Spring Java配置JNDI

ctr*_*ace 12 java spring config servlet-3.0

我试图复制我的春季网络应用程序 的resource-ref属性来配置JNDI.web.xmlWebApplicationInitializer

我该怎么做:

<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>
Run Code Online (Sandbox Code Playgroud)

在java配置而不是xml?

ctr*_*ace 12

查看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;
}
Run Code Online (Sandbox Code Playgroud)