在运行时Java EE 7中设置DataSource

时间:2016-06-01 15:16:06

标签: java-ee datasource programmatically-created

如何动态设置数据源?如下春天:

    @Bean(name = "dataSource")
    public DriverManagerDataSource dataSource() {
        DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
        driverManagerDataSource.setDriverClassName("com.mysql.jdbc.Driver");
        driverManagerDataSource.setUrl("jdbc:mysql://localhost:3306/userbase");
        driverManagerDataSource.setUsername("root");
        driverManagerDataSource.setPassword("root");
        return driverManagerDataSource;
    }

我可以将此功能从Spring导入Java EE 7企业应用程序吗?

1 个答案:

答案 0 :(得分:1)

任何Java EE 7实现都有用于定义在服务器的JNDI目录中具有名称的javax.sql.DataSource的工具。

您可以使用javax.annotations.Resource注释在应用程序客户端类中注入对它的引用,并使用它:

$('form').submit(function() {
    var listId = $(document.activeElement).data('list');
    $("#hidden_field").val(listId);
});

如果您不需要动态指定数据库凭据,则可以将它们包含在服务器的DataSource定义中。

请注意,安全地管理用户密码并非易事,因此您需要一个很好的理由以这种方式使用它们。

如果您需要,也可以将Spring Framework配置设置为使用相同的代码。