一、 Profile
动态配置切换。一套程序往往会被安装到不同环境,不同环境依赖的资源不同
1)profile配置方式
- 多profile文件方式
实际上是从application.properties之中决定被激活的是哪个配置文件(-dev,-pro,-test)
#spring.profiles.active=dev
- yml多文档方式
每对“—“包裹的是单独一段代码,有点像集成,后续的active决定激活哪一段
---
server:
port: 8081
spring:
profiles: dev
---
server:
port: 8082
spring:
profiles: pro
---
server:
port: 8083
spring:
profiles: test
---
spring:
config:
activate:
on-profile: dev
更简单的方式(虚拟机参数):
打开SpringBoot项目的方式:
然后打开cmd键入命令
java -jar //打开项目
--spring.profiles.active=pro//切换配置
java -jar E:\javatest\demo5\target\demo5-0.0.1-SNAPSHOT.jar //运行程序
java -jar E:\javatest\demo5\target\demo5-0.0.1-SNAPSHOT.jar > E:/user.log &//运行程序并在相关目录下输出日志
二、内置配置加载顺序
可加载配置文件的位置:
1当前项目下的/config目录下
2.当前目录的根目录***(resources)***
4.classpath的/config目录***(resoureces)***
5.classpath的根目录
优先级从低到高,当这些文件同时存在于一个项目的时候,实际上都被加载了,只不过低优先级的参数不显示而已
三、项目外部配置
java -jar E:\javatest\demo6\target\demo6-0.0.1-SNAPSHOT.jar --server.port=8086 //命令行修改参数
cmd修改不便的话,可以使用spring.config.location去cmd制定生效的配置文件
加载顺序:
1.先加载外部带profile的文件
2.再加载内部带profile的文件(打成jar包的)
4.再加载外部不带profile的文件
5.再加载内部不带profile的文件
内外部配置相互补充
SpringBoot整合其他框架
spring整合Junit
1.搭建SpringBoot工程
2.引入starter-test起步依赖
3.编写测试类
4.添加测试相关注解
@RunWith(SpringRunner.class)
@SpringBoot(classes=启动类.class)
5.编写测试方法
测试类代码
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringBootTestApplication.class)//这个“classes参数只有在同父包的情况下不用加”
public class userserviceTest {
@Autowired
protected userService user;
@Test
public void test_add(){
user.add();
}
}
SpringBoot整合Redis
步骤:
1.搭建SpringBoot工程
2.引入Redis起步依赖(创建工程的时候去选即可)![pom.xml里面配置完成的内容
3.配置Redis相关属性
4.注入RedisTemplate模板
5.编写测试方法,测试
@RunWith(SpringRunner.class)
@SpringBootTest
class SpringbootRedis5ApplicationTests {
//注入RedisTemplate模板
@Autowired
private RedisTemplate redisTemplate;
@Test
public void TestSet() {
//存储数据
redisTemplate.boundValueOps("name").set("llfy");
}
@Test
public void TestGet(){
//获取数据
Object master=redisTemplate.boundValueOps("name").get();
System.out.println(master);
}
}
Redis下载安装链接
在代码运行之前要开启redis
最后get方法获取成功
SpringBoot整合MyBatis
步骤:
1.搭建SpringBoot工程
2.引入mybatid起步依赖,添加mysql驱动
3.编写DataSource和MyBatis相关配置
4.定义表和实体类
5.编写dao和mapper文件/纯注解开发
6.测试
准备工作:
MySQL官网下载链接
MySQL下载指导
yml之中配置数据库连接基本信息:
#datasource
spring:
datasource:
url: jdbc:mysql:///springboot?serverTimezone=utc;
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
#mybatis
mybatis:
mapper-locations: classpath:mapper/*mapper.xml #mapper映射文件路径
type-aliases-package: com.example.springbootmybatis1.domain
#check-config-location: #指定mybatis的核心配置文件
userMapper:(使用注解)
@Select("select * from t_user")
public List<User> findAll();
userXmlMapper:(不使用注解)
public List<User> findAll();
userMapper.xml引用:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.springbootmybatis1.mapper.UserMapper">
<select id="findAll" resultType="user">
select * from t_user
</select>
</mapper>
测试类:
@Autowired
private UserMapper userMapper;
@Autowired
private UserXmlMapper UserXmlMapper;
@Test
public void testFindAll(){
List<user> list = userMapper.findAll();
System.out.println("list");
List<user> list = userXmlMapper.findAll();
System.out.println("list");
}