如何部署同一个Spring boot web 应用到不同的环境
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,在现实项目当中我们往往都有不同的部署环境,例如:dev数据库, system test 数据库 和production 数据库, 那么如何把同一个spring boot web app 部署到不同的数
千家信息网最后更新 2026年11月02日如何部署同一个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安全错误
数据库的锁怎样保障安全
上海挚品互联网科技有限公司
中智农互联网科技
新华互联网科技
科技创新与互联网经济
今日互联网科技
互联网科技有限公司图片
朗新科技与工业互联网
银优互联网科技有限公司
互联网科技论坛
人人互联网科技是培训
科技大学互联网专业好不好
互联网科技产品
承德科技产业互联网发展
浙江互联网科技研学营
科技互联网海报
宇信科技在杭州互联网排第几
广州智享互联网科技
悟空问答互联网科技
华人运通互联网科技公司
伍佰万互联网科技是干嘛的
有格互联网科技
金融科技还是互联网
万易互联网科技
一五八零互联网科技
互联网科技热点资讯
欧洲十大科技互联网公司
银川新华互联网科技学校联系电话
产业互联网科技服务公司
银川新华互联网科技学校是国营吗
互联网的黑科技实验室