2013-05-24 55 views
12

Tôi đang cố gắng sao chép thuộc tính resource-ref của web.xml trong các ứng dụng web mùa xuân WebApplicationInitializer để định cấu hình JNDI.Servlet 3.0 Cấu hình Java Spring JNDI

Làm thế nào tôi có thể làm điều này:

<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> 

trong cấu hình java chứ không phải là xml?

Trả lời

12

Nhìn vào thông số kỹ thuật cho servlet 3.0 Tôi đã tìm thấy chú thích @Resource. Thay vì trong lớp học WebApplicationInitializer của tôi, giờ đây tôi đã ở trong lớp học WebConfig của tôi.

@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; 
} 
+0

Tôi không thể làm việc này. Chính xác bạn có ý gì bởi "WebConfig"? Lớp mở rộng WebMvcConfigurationSupport? – user871611

+0

Cấu hình WebConfig - java (mở rộng WebMvcConfigurerAdapter) – ctrlspace