当前位置: 首页 > news >正文

深圳网站建设价格多少景区智慧旅游网站建设

深圳网站建设价格多少,景区智慧旅游网站建设,北京网站制作费用,即墨建网站价格Spring Boot 包含许多用于处理数据源的启动器,本文回答与执行此操作相关的问题。一、配置自定义数据源要配置自己的DataSource,请在配置中定义该类型的Bean。Spring Boot在任何需要的地方重用DataSource,包括数据库初始化。如果需要外部化某些…

Spring Boot 包含许多用于处理数据源的启动器,本文回答与执行此操作相关的问题。

一、配置自定义数据源

要配置自己的DataSource,请在配置中定义该类型的@Bean。Spring Boot在任何需要的地方重用DataSource,包括数据库初始化。如果需要外部化某些设置,可以将DataSource绑定到环境(请参阅“第三方配置”)。

以下示例显示了如何在bean中定义数据源:

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration(proxyBeanMethods = false)
public class MyDataSourceConfiguration {@Bean@ConfigurationProperties(prefix = "app.datasource")public SomeDataSource dataSource() {return new SomeDataSource();}}

以下示例显示如何通过设置财产来定义数据源:

app.datasource.url=jdbc:h2:mem:mydb
app.datasource.username=sa
app.datasource.pool-size=30

假设SomeDataSource具有URL、用户名和池大小的常规JavaBean财产,这些设置将在DataSource可用于其他组件之前自动绑定。

Spring Boot还提供了一个名为DataSourceBuilder的实用程序生成器类,可以用来创建一个标准数据源(如果它位于类路径上)。构建器可以根据类路径上的可用内容检测要使用的对象。它还基于JDBCURL自动检测驱动程序。

以下示例显示了如何使用DataSourceBuilder创建数据源:

import javax.sql.DataSource;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration(proxyBeanMethods = false)
public class MyDataSourceConfiguration {@Bean@ConfigurationProperties("app.datasource")public DataSource dataSource() {return DataSourceBuilder.create().build();}}

要使用该DataSource运行应用程序,只需要连接信息。还可以提供特定于池的设置。检查将在运行时使用的实现以了解更多详细信息。

以下示例显示了如何通过设置财产来定义JDBC数据源:

app.datasource.url=jdbc:mysql://localhost/test
app.datasource.username=dbuser
app.datasource.password=dbpass
app.datasource.pool-size=30

您可以通过强制连接池使用并返回专用实现而不是DataSource来解决这个问题。您不能在运行时更改实现,但选项列表将是显式的。

以下示例显示了如何使用DataSourceBuilder创建HikariDataSource:

import com.zaxxer.hikari.HikariDataSource;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration(proxyBeanMethods = false)
public class MyDataSourceConfiguration {@Bean@ConfigurationProperties("app.datasource")public HikariDataSource dataSource() {return DataSourceBuilder.create().type(HikariDataSource.class).build();}}

您甚至可以通过利用DataSourceProperties为您提供的功能来更进一步 — 也就是说,如果没有提供URL,则通过提供具有合理用户名和密码的默认嵌入式数据库。您可以轻松地从任何DataSourceProperties对象的状态初始化DataSourceBuilder,因此也可以注入Spring Boot自动创建的DataSource。但是,这会将您的配置分成两个命名空间:spring.datasource上的url、用户名、密码、类型和驱动程序,以及自定义命名空间(app.datasource)上的其余部分。为了避免这种情况,您可以在自定义命名空间上重新定义自定义DataSourceProperties,如下例所示:

import com.zaxxer.hikari.HikariDataSource;import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;@Configuration(proxyBeanMethods = false)
public class MyDataSourceConfiguration {@Bean@Primary@ConfigurationProperties("app.datasource")public DataSourceProperties dataSourceProperties() {return new DataSourceProperties();}@Bean@ConfigurationProperties("app.datasource.configuration")public HikariDataSource dataSource(DataSourceProperties properties) {return properties.initializeDataSourceBuilder().type(HikariDataSource.class).build();}}

此设置使您与默认情况下Spring Boot为您所做的工作保持同步,除了(在代码中)选择了一个专用连接池,并且其设置在app.datasource.configuration子命名空间中公开。由于DataSourceProperties正在为您处理url/jdbcUrl转换,因此可以按如下方式进行配置:

app.datasource.url=jdbc:mysql://localhost/test
app.datasource.username=dbuser
app.datasource.password=dbpass
app.datasource.configuration.maximum-pool-size=30

二、配置两个数据源

如果需要配置多个数据源,可以应用上一节中描述的相同技巧。但是,您必须将DataSource实例之一标记为@Primary,因为未来的各种自动配置都希望能够按类型获取一个DataSource实例。

如果您创建自己的DataSource,自动配置将退出。在以下示例中,我们提供了与自动配置在主数据源上提供的功能集完全相同的功能集:

import com.zaxxer.hikari.HikariDataSource;
import org.apache.commons.dbcp2.BasicDataSource;import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;@Configuration(proxyBeanMethods = false)
public class MyDataSourcesConfiguration {@Bean@Primary@ConfigurationProperties("app.datasource.first")public DataSourceProperties firstDataSourceProperties() {return new DataSourceProperties();}@Bean@Primary@ConfigurationProperties("app.datasource.first.configuration")public HikariDataSource firstDataSource(DataSourceProperties firstDataSourceProperties) {return firstDataSourceProperties.initializeDataSourceBuilder().type(HikariDataSource.class).build();}@Bean@ConfigurationProperties("app.datasource.second")public BasicDataSource secondDataSource() {return DataSourceBuilder.create().type(BasicDataSource.class).build();}}

这两个数据源也绑定为高级自定义。例如,您可以按如下方式配置它们:

app.datasource.first.url=jdbc:mysql://localhost/first
app.datasource.first.username=dbuser
app.datasource.first.password=dbpass
app.datasource.first.configuration.maximum-pool-size=30app.datasource.second.url=jdbc:mysql://localhost/second
app.datasource.second.username=dbuser
app.datasource.second.password=dbpass
app.datasource.second.max-total=30

您也可以将相同的概念应用于辅助DataSource,如下例所示:

import com.zaxxer.hikari.HikariDataSource;
import org.apache.commons.dbcp2.BasicDataSource;import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;@Configuration(proxyBeanMethods = false)
public class MyCompleteDataSourcesConfiguration {@Bean@Primary@ConfigurationProperties("app.datasource.first")public DataSourceProperties firstDataSourceProperties() {return new DataSourceProperties();}@Bean@Primary@ConfigurationProperties("app.datasource.first.configuration")public HikariDataSource firstDataSource(DataSourceProperties firstDataSourceProperties) {return firstDataSourceProperties.initializeDataSourceBuilder().type(HikariDataSource.class).build();}@Bean@ConfigurationProperties("app.datasource.second")public DataSourceProperties secondDataSourceProperties() {return new DataSourceProperties();}@Bean@ConfigurationProperties("app.datasource.second.configuration")public BasicDataSource secondDataSource(@Qualifier("secondDataSourceProperties") DataSourceProperties secondDataSourceProperties) {return secondDataSourceProperties.initializeDataSourceBuilder().type(BasicDataSource.class).build();}}

前面的示例使用与Spring Boot在自动配置中使用的逻辑相同的逻辑在自定义命名空间上配置两个数据源。请注意,每个配置子命名空间都基于所选的实现提供高级设置。

三、使用 Spring 数据存储库

Spring Data可以创建各种风格的@Repository接口的实现。只要这些@Repository包含在@EnableAutoConfiguration类的同一包(或子包)中,Spring Boot就会为您处理所有这些问题。

对于许多应用程序,您只需要在类路径中放置正确的SpringData依赖项。jpa有一个spring-boot-starter数据jpa,mongodb有一个spring boot-starter-data mongodb,以及支持技术的各种其他启动器。首先,创建一些存储库接口来处理@Entity对象。

Spring Boot尝试根据找到的@EnableAutoConfiguration猜测@Repository定义的位置。要获得更多控制,请使用@EnableJpaRepositorys注释(来自SpringDataJPA)。

http://www.yayakq.cn/news/732901/

相关文章:

  • 文安网站建设公司网站 仿站什么意思
  • 风格 特别的网站做网站都用什么软件
  • 关于加强网站建设的情况说明外贸公司取名字大全集
  • 建设视频网站要求大厂县城乡建设局网站
  • 网站建设去哪网站设计常用字体
  • 域名到期对网站的影响广州软件网站开发
  • 自学网站开发要多久柳市做网站的公司
  • 岳阳网站设计wordpress文章同步
  • 域名网站注册最划算火车头wordpress发布模块制作
  • 自助网站建设系统源码武安网站建设价格
  • 刚接触网站建设有哪些问题小米公司的企业文化建设
  • 网站备案是否关闭html5网站制作编辑源码
  • 网站建设中是因为没有ftp上传吗杭州网站建设商城价格
  • 贵阳市 网站建设做分享衣服网站的初衷是什么意思
  • 景安网站上传完还要怎么做WordPress仿虎嗅主题
  • 网站备案提交新手如何做网站维护
  • 站长统计 wordpress注册商标去哪里注册需要多少钱
  • 快云助手网站建设视频教程做彩票网站能挣到钱吗
  • 网站怎么弄模板凡科建站添加文章
  • 网络查询网站手机应用市场
  • 集团网站群建设外企外贸是做什么的
  • 网上书城网站开发外文参考文献网站与系统开发
  • 做外贸找生意上哪个网站天津网站开发建设公司
  • 做网站用买服务器码官方查企业信息的网站
  • 网站注册建设费用设计公司展厅装修
  • 宁波网站建设优化企业大学一学一做视频网站
  • wordpress 分页函数十堰网站搜索优化价格
  • 厚街镇网站建设公司做静态网站的开题报告
  • 深圳建设网站的公司wordpress 首页logo
  • 网站建设商标保护建筑服务类网站