Spring MVC,Servlet 3.0:如何创建resource-ref

时间:2015-12-06 09:17:08

标签: spring spring-mvc servlet-3.0

我正在使用Spring MVC(4.2.3)开发一个Web应用程序 Servlet 3.0 API,所以没有web.xml。

我的WebConfig.java如下:

...
import javax.servlet.ServletContext;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = {...})
public class WebConfig extends WebMvcConfigurerAdapter {

@Autowired
ServletContext servletContext;

}

我正在通过从一个java应用程序复制来创建这个spring应用程序 Servlet< 3.0,所以有一个包含此部分的web.xml 数据来源:

<resource-ref>
    <res-ref-name>jdbc/DefaultDB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
</resource-ref>

如何在没有的Spring MVC应用程序中创建这样的设置 web.xml中?

与此同时,我已经看过&#34; Java Servlet规范版本3.0&#34;。 它说的是@Resource:

  

@Resource注释用于声明对资源的引用   比如数据源...这个注释相当于声明一个   资源引用...

     

@Resource示例:

@Resource private javax.sql.DataSource catalogDS;
public getProductsByCategory() {
 // get a connection and execute the query
 Connection conn = catalogDS.getConnection();
..
}
  

在上面的示例代码中,servlet,过滤器或侦听器声明了一个   javax.sql.DataSource类型的字段catalogDS,其引用   数据源由容器在组件之前注入   被提供给应用程序。   数据源JNDI映射是从字段名称推断出来的   “catalogDS”和类型(javax.sql.DataSource)。而且,目录DS   不再需要在部署描述符中定义资源。

不幸的是,我不知道如何使用它以及如何将它连接到Springs JDBCTemplate。是

public class WebConfig extends WebMvcConfigurerAdapter {

正确的位置?

1 个答案:

答案 0 :(得分:1)

我通过扩展

实现了一个监听器
this.xd.x += 5;

并添加了注释

org.springframework.web.context.ContextLoaderListener

在那个听众的领​​域

@WebListener.

已成功填充。

http://docs.oracle.com/javaee/6/api/javax/servlet/ServletContextListener.html http://docs.oracle.com/javaee/6/api/javax/servlet/annotation/WebListener.html http://docs.oracle.com/javaee/6/api/javax/annotation/Resource.html