Spring Boot-配置MongoDB、关系性数据库数据源

package com.bjhy.platform.supermarket.conifig;

import java.util.Arrays;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration;
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.config.AbstractMongoConfiguration;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;

import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.WriteConcern;

/**
 * MongoDB数据源配置
 * 
 * @author xiaowen
 *
 */
@Configuration
@EnableAutoConfiguration(exclude={MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})
@ComponentScan
@EnableMongoRepositories
public class MongoDataSourceConfig extends AbstractMongoConfiguration{

	// 数据库名
	@Value("${mongo.dbname}")
	private String dbName;
	// 数据库地址
	@Value("${mongo.dbhost}")
	private String dbHost;
	// 数据库端口
	@Value("${mongo.dbport}")
	private String dbPort;
	// 用户名
	@Value("${mongo.username}")
	private String userName;
	// 密码
	@Value("${mongo.password}")
	private String password;

	/**
	 * 无参数的构造函数
	 */
	public MongoDataSourceConfig() {
		if (null == dbHost || "".equalsIgnoreCase(dbHost.trim())) {
			dbHost = "27017";
		}
	}

	@SuppressWarnings("deprecation")
	@Bean
	public Mongo mongo() throws Exception {
		ServerAddress serverAdress = new ServerAddress(dbHost, Integer.valueOf(dbPort));
		MongoCredential credential = MongoCredential.createMongoCRCredential(userName, dbName, password.toCharArray());
		Mongo mongo = new MongoClient(serverAdress, Arrays.asList(credential));
		mongo.setWriteConcern(WriteConcern.SAFE);
		return mongo;
	}

	public String getDbName() {
		return dbName;
	}

	public void setDbName(String dbName) {
		this.dbName = dbName;
	}

	public String getDbHost() {
		return dbHost;
	}

	public void setDbHost(String dbHost) {
		this.dbHost = dbHost;
	}

	public String getDbPort() {
		return dbPort;
	}

	public void setDbPort(String dbPort) {
		this.dbPort = dbPort;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	@Override
	protected String getDatabaseName() {
		return this.dbName;
	}

}

关系型数据库数据源配置:

package com.bjhy.platform.supermarket.conifig;

import java.beans.PropertyVetoException;

import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
 * 关系性数据库数据源配置
 * @author xiaowen
 *
 */
@Configuration
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
public class MysqlDataSourceConfig {
	@Value("${db.driver}")
	private String driver;

	@Value("${db.url}")
	private String url;

	@Value("${db.username}")
	private String username;

	@Value("${db.password}")
	private String password;

	
	@Bean
	public DataSource dataSource(){
		ComboPooledDataSource ds = null;
		try {
			ds = new ComboPooledDataSource();
			ds.setDriverClass(driver);
			ds.setJdbcUrl(url);
			ds.setUser(username);
			ds.setPassword(password);
		} catch (PropertyVetoException e) {
			e.printStackTrace();
		}
	
		return ds;
		
	}
	public String getDriver() {
		return driver;
	}

	public void setDriver(String driver) {
		this.driver = driver;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
	
	

}
JdbcTeplate配置:

package com.bjhy.platform.supermarket.conifig;

import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;
/**
 * JdbcTemplate配置
 * @author xiaowen
 *
 */
@Configuration
public class JdbcTemplateDBConfig {

	@Autowired
	@Qualifier("myDataSource")
	private DataSource dataSource;
	
	
	@Bean
	public JdbcTemplate JdbcTemplate(){
		return new JdbcTemplate(dataSource);
		
	}
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: spring-boot-starter-data-mongodb是一个Spring Boot的starter,用于快速集成MongoDB数据库。它提供了MongoDB的自动配置和一些常用的操作方法,使得开发者可以更加方便地使用MongoDB进行数据存储和查询。同时,它还支持多数据源配置和集成Spring Data MongoDB等功能。 ### 回答2: Spring Boot Starter Data MongoDB是一个为Spring Boot应用提供MongoDB支持的工具包。它简化了MongoDB数据库的集成,并提供了一组预定义的库,以便于开发人员快速启动MongoDB应用程序。 它提供了丰富的功能,包括CRUD操作,数据检索和管理,以及事务管理等。该工具包还提供了许多便捷的功能,如自动配置,自动映射和可插拔的错误处理机制。这些功能极大地简化了MongoDB开发的过程,帮助开发人员更快、更简单地构建高效的MongoDB应用程序。 Spring Boot Starter Data MongoDBalso统一了MongoDB数据存储和检索的方式,提供了易于使用的API,让开发人员可以快速地操作MongoDB。此外,该工具包还提供了一些高级功能,如分页查询、属筛选和排序,使得数据检索过程更容易管理和调整。 总之,Spring Boot Starter Data MongoDB 是一个非常强大的工具包,能够帮助开发人员在Spring Boot应用中轻松集成MongoDB,并提供丰富的功能、易用的API和高效的处理机制,大大简化了MongoDB开发过程,提高了开发效率。 ### 回答3: spring-boot-starter-data-mongodb是一个基于Spring BootMongoDB开发包。MongoDB是一种常见的NoSQL数据库,它具有数据存储和查询速度快、高可扩展、能够存储大量数据等优点。此外,MongoDB还具有面向文档的数据模型,可以轻松存储和查询复杂的嵌套数据结构。 Spring Boot为开发人员提供了一种简单的方法来快速开发基于MongoDB的应用程序。spring-boot-starter-data-mongodb提供了MongoDB数据库的自动配置和集成,无需手动编写大量的配置代码,使开发人员可以更加专注于业务逻辑的实现。 该开发包还提供了Spring Data MongoDB,这是一个强大的工具集,可以帮助开发人员轻松地进行MongoDB数据库操作。Spring Data MongoDB的核心功能包括索引支持、数据校验、CRUD操作、分页查询、异步查询和聚合查询等。 除此之外,spring-boot-starter-data-mongodb还提供了一些其他的好处,例如自动创建MongoDB数据源、自动配置MongoDB驱动程序等,这些功能使得开发人员可以更加便捷地使用MongoDB数据库。 总之,spring-boot-starter-data-mongodb使得基于MongoDB的开发变得更加简单和高效,使开发人员可以更加专注于业务实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值