我正在使用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 {
正确的位置?
答案 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