如何部署同一个Spring boot web 应用到不同的环境
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,在现实项目当中我们往往都有不同的部署环境,例如:dev数据库, system test 数据库 和production 数据库, 那么如何把同一个spring boot web app 部署到不同的数
千家信息网最后更新 2025年01月21日如何部署同一个Spring boot web 应用到不同的环境
在现实项目当中我们往往都有不同的部署环境,例如:dev数据库, system test 数据库 和production 数据库, 那么如何把同一个spring boot web app 部署到不同的数据库环境呢?
spring boot 提供一个profile的功能, 通过配置多个profile文件,实现同一应用切换到不同的部署环境当中。这里不在详细介绍profile的概念。有兴趣自行到官网查询。这里通过代码来说明如何配置spring boot 来实现spring JDBC tempalte切换不同的jdbc数据源
1 在pom.xml引入必须的依赖
org.springframework.boot spring-boot-starter-jdbc org.springframework spring-jdbc com.oracle ojdbc6 11.2.0.3
注:这里我使用的是oracle jdbc。
2 创建不同的spring boot 配置文件,这三个文件分表代表dev,system,production
application.propertiesapplication-sys.propertiesapplication-prod.properties
注意 application-{profile} 对应不同的环境。 可以通过java -jar -Dspring.profile.active=sys 来切换不同的配置文件
3 配置不同的jdbc 信息到相应的配置文件当中
在application.properties 文件中spring.datasource.url=jdbc:oracle:thin:@dev01.example.com:1521:lausonedspring.datasource.username=devUserspring.datasource.password=XXXXXspring.datasource.driver-class-name=oracle.jdbc.OracleDriver在application-sys.propertiesspring.datasource.url=jdbc:oracle:thin:@sys01.example.com:1521:lausonedspring.datasource.username=sysUserspring.datasource.password=XXXXXspring.datasource.driver-class-name=oracle.jdbc.OracleDriver在application-prod.propertiesspring.datasource.url=jdbc:oracle:thin:@prodv01.example.com:1521:lausonedspring.datasource.username=prodUserspring.datasource.password=XXXXXspring.datasource.driver-class-name=oracle.jdbc.OracleDriver
4 配置spring boot
@Configurationpublic class DataBaseConfig { @Bean(name="asuDBsource") @ConfigurationProperties(prefix="spring.datasource") public DataSource primaryDataSource() { return DataSourceBuilder.create().build(); } @Bean(name = "asuJDBC") @Autowired public JdbcTemplate blcJdbcTemplate(@Qualifier("asuDBsource") DataSource source) { return new JdbcTemplate(source); }}
这里我创建了一个DataBaseConfig.java 的文件来配置jdbc 连接到数据库并且返回数据源, 并且配置这个数据源来返回jdbcTemplate。 我这里使用的是传统jdbc 连接数据库并没有使用hibernate.
5 通过依赖注入(DI) 来调用JDBCTemplate.
@Repositorypublic class AsuDaoImpl implements IAsuDao { @Autowired @Qualifier(value="asuJDBC") private JdbcTemplate jdbcTemplate;}
这里我创建一个dao interface, 和dao Impl来注入这个jdbcTemplate.
数据
配置
不同
文件
数据库
环境
数据源
切换
应用
三个
代码
代表
传统
信息
兴趣
分表
功能
可以通过
多个
概念
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
矩声音乐服务器app收费吗
大数据与网络安全是学啥的
显示数据库信息的查询语句
四川环保服务器散热风扇
服务器报502
上传文件到服务器太慢了
如何检查代理服务器配置
3张数据库一起查询
数据表是一定要放在数据库中的吗
t3重装后数据库恢复数据
全国气温数据库排名
马鞍山保险软件开发定制公司
内蒙古信息网络安全
人社局网络安全管理方案
人工智能会取代软件开发吗
国家授时中心 服务器
phpjson数据库怎么写
教务系统数据库集群架构以及部署
数据库是什么结构
广安经开区网络安全宣传周活动
哪里有软件开发中心
尚文网络技术
插入数据到hive数据库
云计算机网络安全吗
宁夏戴尔服务器虚拟化部署
服务器改国外ip
当今主流的软件开发思想
在数据库中什么表示学分
医院网络安全制度
oracle显示所有数据库