CrafterCMS:如何在应用程序上下文Bean中使用Crafter引擎属性?

时间:2018-08-13 08:12:54

标签: content-management-system spring-jdbc crafter-cms

我正在使用扩展JdbcTemplate的类连接到外部数据库。我的问题是由于Jdbc的缘故,我无法使用Groovy API的globalProperties

我在 server-config.properties 中添加了所需的这些属性:

studio.db.driverClassName
studio.db.url
studio.db.username
studio.db.password

我正在尝试通过以下方式在我的 application-context.xml 中访问它们:

<bean id="jdbc" class="com.dbJdbcTemplate">
    <constructor-arg ref="datasource"/>
</bean>

<bean id="datasource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="url" value="${studio.db.url}"/>
    <property name="driverClassName" value="${studio.db.driverClassName}"/>
    <property name="username" value="${studio.db.username}"/>
    <property name="password" value="${studio.db.password}"/>
</bean>

我收到此错误:

  

由以下原因引起:org.springframework.jdbc.CannotGetJdbcConnectionException:无法   获取JDBC连接;嵌套异常   org.apache.commons.dbcp.SQLNestedException:无法加载JDBC驱动程序类'$ {studio.db.driverClassName}'

如何正确地从bean中访问属性?

1 个答案:

答案 0 :(得分:0)

在您的网站<bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer" parent="crafter.properties"/>中添加一个application-context.xml,如此处https://docs.craftercms.org/en/3.0/site-administrators/engine/engine-site-configuration.html#id3所示。这些行使您可​​以访问Engine的全局属性。