如果应用程序只有一个数据源,JavaEE应用程序是否有某种方法可以在不知道它的JNDI名称的情况下获取它的数据源?
我想将应用程序与其DataSource的名称分离,以避免在代码中对数据源的JNDI名称进行硬编码(无论是在@Resource(name="")
还是在与Contexts一起使用的代码中)。我是否应该这样做或者通常的做法是硬编码数据源的JNDI名称,因为在web.xml中描述了DataSource与JDBC连接池的耦合,这提供了所有必要的灵活性?
提前致谢。
答案 0 :(得分:1)
您可以使用某种依赖注入框架来使查找对应用程序完全透明,但是,使用JNDI而不是让应用程序直接连接到数据库应该已经为您提供了必要的灵活性和#34 ;.请注意,您也可以将JNDI名称放在配置文件中。