【问题标题】:How can I use JDBCTemplate from Spring JDBC in a Swing desktop application?如何在 Swing 桌面应用程序中使用 Spring JDBC 中的 JDBCTemplate?
【发布时间】:2011-11-08 16:51:04
【问题描述】:
我在我的 Swing 桌面应用程序中使用了很多 JDBC 代码。现在我在 Spring in Action 中从 Spring 中读到了有关 JDBCTemplate 的信息,它看起来是一个很好的使用 JDBC 的 API。
但是 Spring JDBC 似乎需要一些用于 bean 的 XML 配置文件。有没有什么方法可以在没有这些 XML 配置文件的情况下使用 JDBCTemplate(例如,带有注释)?或者我如何在 Swing 桌面应用程序中使用这个 JdbcTemplate 来访问数据库?
【问题讨论】:
标签:
java
jdbc
jdbctemplate
spring-jdbc
【解决方案1】:
您可以通过创建 @Configuration 带注释的 java 类并使用 AnnotationConfigApplicationContext 类来加载配置来创建 Spring Context 来获得没有 XML 的 Spring Context
有关代码示例,请参阅 Spring JavaConfig。
【解决方案2】:
虽然使用 Spring 作为应用程序的主干当然有其优点,而且基于注释的配置确实可以让您摆脱“XML 地狱”,但如果您只想使用 JdbcTemplate 'raw',那么没有什么可以阻止您这样做.
只要确保为它提供一个有效的DataSource,例如PGPoolingDataSource,如果您使用的是PostgreSQL。如果您的 JDBC 供应商不提供 DataSource 实现,请随意使用 Spring 的 SimpleDriverDataSource。
例如:
DataSource ds = new SimpleDriverDataSource(LegacyDriver.class,
"jdbc:legacy://database", "username", "password");
JdbcTemplate jdbc = new JdbcTemplate(ds);
// Use jdbc to do stuff
【解决方案3】:
尽管它在技术上是可行的 - 它会破坏基于 Spring 的应用程序的目的和设计。
我的建议是开始使用 Spring 框架作为应用程序的主干。我向您保证,您的应用程序只会从使用它中受益(更好的设计、清晰的关注点分离、更好的可测试性等)。使用 Spring 上下文设置 JbdcTemplate 几乎是微不足道的。
您已经阅读了“Spring in Action”——开始使用它吧 :)
看看Spring Reference Documentation - 最好的 Spring 资源,时期