1.我们在yml配置文件中写入key和value值
name: hello
2.我们写下测试类,这里使用Spring boot test 做测试
@SpringBootTest
public class ApplicationTest {
@Value("${name}")
private static String name;
@Test
public void test01(){
System.out.println("=======================> 输出 <=========================");
System.out.println(name);
System.out.println("=======================================================");
}
}
3.我们输出试试:
我们可以看到未知中输出这样一段话:
Autowired annotation is not supported on static fields: private static java.lang.String com.rubik.merchant.test.ApplicationTest.name
我们来翻译一下: 静态字段不支持自动装配;
解决:
@SpringBootTest(classes = ApplicationWeb.class)
public class ApplicationTest {
private static String name;
@Value("${name}")
public void setName(String name) {
this.name = name;
}
@Test
public void test01(){
System.out.println("=======================> 输出 <=========================");
System.out.println(name);
System.out.println("=======================================================");
}
}
我们写入set方法,用set方法注入,当然也可以构造方法注入的,注意这里的set方法不要写static修饰符我们再看下输出结果:
好了,我们再试试构造方法注入:
@SpringBootTest
public class ApplicationTest {
private static String name;
public ApplicationTest(@Value("${name}") String name) {
this.name= name;
}
@Test
public void test01(){
System.out.println("=======================> 输出 <=========================");
System.out.println(name);
System.out.println("=======================================================");
}
}
打印一下结果
**
总结: 我们可以用构造方法或set方法注入static静态属性
**