如何在 Spring 中配置数据源?
How do you configure a DataSource in Spring?
我正在学习 Spring 核心认证,我对如何正确回答这个问题有一些疑问:
How do you configure a DataSource in Spring? Which bean is very useful
for development?
我想我做了类似的事情来在 Spring XML 配置文件中配置 DataSource:
<bean id=“dataSource” class=“org.apache.commons.dbcp.BasicDataSource”>
<property name=“url” value=“${dataSource.url}” />
<property name=“username” value=“${dataSource.username}” />
<property name=“password” value=“${dataSource.password}” />
</bean>
<jdbc:initialize-database data-source=“dataSource”>
<jdbc:script location=“classpath:schema.sql” />
<jdbc:script location=“classpath:test-data.sql” />
</jdbc:initialize-database>
所以我认为回答的bean是org.apache.commons.dbcp.BasicDataSource。这个说法是真的还是我遗漏了什么?
声明的 配置标签究竟代表什么?我很清楚它的作用,但究竟代表什么?是特殊的bean声明还是什么?
Tnx
我相信它必须有助于在内存中创建用于开发目的的数据库:
@Bean
@Profile("dev")
public DataSource devDataSource() {
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.HSQL)
.addScript("classpath:com/bank/config/sql/schema.sql")
.addScript("classpath:com/bank/config/sql/test-data.sql")
.build();
}
XML 配置:
<jdbc:embedded-database id="dataSource">
<jdbc:script location="classpath:schema.sql"/>
<jdbc:script location="classpath:test-data.sql"/>
</jdbc:embedded-database>
Spring docs的相关部分。
我不太了解考试和认证问题:-)
但这是一个有效的 XML 数据源配置 JDBC MySQL
<!-- App's dataSource used by jdbcTemplate,jdbc-user-service and connectController anss so on -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/springappdb" />
<property name="username" value="root" />
<property name="password" value="yourpassword" />
</bean>
<!-- jdbcTemplate -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>
我正在学习 Spring 核心认证,我对如何正确回答这个问题有一些疑问:
How do you configure a DataSource in Spring? Which bean is very useful for development?
我想我做了类似的事情来在 Spring XML 配置文件中配置 DataSource:
<bean id=“dataSource” class=“org.apache.commons.dbcp.BasicDataSource”>
<property name=“url” value=“${dataSource.url}” />
<property name=“username” value=“${dataSource.username}” />
<property name=“password” value=“${dataSource.password}” />
</bean>
<jdbc:initialize-database data-source=“dataSource”>
<jdbc:script location=“classpath:schema.sql” />
<jdbc:script location=“classpath:test-data.sql” />
</jdbc:initialize-database>
所以我认为回答的bean是org.apache.commons.dbcp.BasicDataSource。这个说法是真的还是我遗漏了什么?
声明的 配置标签究竟代表什么?我很清楚它的作用,但究竟代表什么?是特殊的bean声明还是什么?
Tnx
我相信它必须有助于在内存中创建用于开发目的的数据库:
@Bean
@Profile("dev")
public DataSource devDataSource() {
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.HSQL)
.addScript("classpath:com/bank/config/sql/schema.sql")
.addScript("classpath:com/bank/config/sql/test-data.sql")
.build();
}
XML 配置:
<jdbc:embedded-database id="dataSource">
<jdbc:script location="classpath:schema.sql"/>
<jdbc:script location="classpath:test-data.sql"/>
</jdbc:embedded-database>
Spring docs的相关部分。
我不太了解考试和认证问题:-) 但这是一个有效的 XML 数据源配置 JDBC MySQL
<!-- App's dataSource used by jdbcTemplate,jdbc-user-service and connectController anss so on -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/springappdb" />
<property name="username" value="root" />
<property name="password" value="yourpassword" />
</bean>
<!-- jdbcTemplate -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>