spring cloud项目读取配置管理

  1. 确认服务是否成功

        http://localhost:8888/demo-config/test

{"name":"demo-config","profiles":["test"],"label":"master","version":"02d28ad4925aa9bd1bf8a48d2edbf04ce61aa45a","propertySources":[{"name":"https://git.oschina.net/penghaozhong/demo.git/demo-config-repo/demo-config-test.properties","source":{"jdbc.url":"jdbc:mysql://localhost:3306/demo?characterEncoding=UTF-8","jdbc.username":"root","jdbc.driver":"com.mysql.jdbc.Driver","jdbc.password":"xxxxxx","jdbc.type":"mysql"}}]}

 

     2. 配置读取配置文件

  134039_2SWP_124056.png

 

在bootstrap.properties中添加读取配置管理的地址。

      

3. 读取配置文件属性,这里采用@ConfigurationProperties

/**
 * 读取数据库配置文件
 * @author penghaozhong
 *
 */
@ConfigurationProperties(prefix = DataSourceProperties.PREFIX, ignoreUnknownFields = false)
public  class  DataSourceProperties {
	
	    public DataSourceProperties() {
		super();
	}
		//对应配置文件里的配置键
		public final static String PREFIX="jdbc";	
		
		private String type; 
		private String driver; 
		private String url; 
		private String username; 
		private String password;
		
		public String getType() {
			return type;
		}
		public void setType(String type) {
			this.type = type;
		}
		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;
		}

}

 

4. 配置mybatis

@Configuration
@MapperScan("com.phz.test.spring.cloud.demo")
@EnableConfigurationProperties(DataSourceProperties.class)
@EnableTransactionManagement
public class MybatisDataSource {

	// mybaits mapper xml搜索路径
	private final static String MAPPERLOCATIONS = "classpath:/mappings/**/*.xml";
	private final static String CONFIGLOCATION = "classpath:/mybatis-config.xml";

	@Autowired
	private  DataSourceProperties dataSourceProperties;
	private DruidDataSource datasource = null;

	@Bean(destroyMethod = "close")
	public  DataSource dataSource(){
		datasource = new DruidDataSource();  
		datasource.setUrl(dataSourceProperties.getUrl());
		datasource.setDbType(dataSourceProperties.getType());
		datasource.setDriverClassName(dataSourceProperties.getDriver());
		datasource.setUsername(dataSourceProperties.getUsername());
		datasource.setPassword(dataSourceProperties.getPassword());
		return datasource;
	}

	@PreDestroy
	public void close() {
		if(datasource != null){
			datasource.close();
		}
	}

	@Bean
	public SqlSessionFactory sqlSessionFactoryBean() throws Exception {
		SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
		sqlSessionFactoryBean.setDataSource(dataSource());
		PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
		sqlSessionFactoryBean.setMapperLocations(resolver.getResources(MAPPERLOCATIONS));
		sqlSessionFactoryBean.setConfigLocation(resolver.getResource(CONFIGLOCATION));
		sqlSessionFactoryBean.setTypeAliasesPackage("com.phz.test.spring.cloud.demo.entity");
		return sqlSessionFactoryBean.getObject();
	}

	@Bean
	public PlatformTransactionManager transactionManager() {
		return new DataSourceTransactionManager(dataSource());
	}

}

 

转载于:https://my.oschina.net/penghaozhong/blog/715557

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值