springboot通过@value加载全局参数到工具类

这个是通过@value加载配置文件中的参数写到工具类
知识点:

1.@Configuration 和 @component 的使用和区别

2.@value 的作用

LoadProperties.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

/**
* @author
* @create 2019-09-20 18:52
* @project
*/
@Configuration
@PropertySource(value = "classpath:param.properties")
public class LoadProperties {

public static String PROTOCOL;

public String getPROTOCOL() {
return PROTOCOL;
}

@Value("${protocol}")
public void setPROTOCOL(String protocol) {
PROTOCOL = protocol;
}
}

\src\main\resources\param.properties

1
2
3
4
5
6
############ 这个文件是默认的参数 ###############

##### 发送邮件配置 start ########
#连接协议
protocol=smtp
##### 发送邮件配置 end ########

测试类 \src\test\java\com\curd\CurdApplicationTests.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import com.curd.test.LoadProperties;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class CurdApplicationTests {

@Test
public void contextLoads() {
System.out.println("test:"+ LoadProperties.PROTOCOL);
}
}

打印内容

1
test:smtp
0%