spring注解不支持靜態變量注入:今天敲代碼 自動配置 配置:
Animal.java
1 package study01_autoconfig.beanConfig; 2 3 import org.springframework.stereotype.Component; 4 5 @Component 6 public class Person implements Animal{ 7 private String name; 8 9 public void talk() { 10 name="linhua"; 11 System.out.println("hi I'm "+name); 12 } 13 }
1 package study01_autoconfig.beanConfig; 2 3 import org.springframework.context.annotation.ComponentScan; 4 import org.springframework.context.annotation.Configuration; 5 6 @ComponentScan 7 @Configuration 8 public class PersonConfig { 9 10 }
測試類:
package study01_autoconfig.beanConfig; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) //不寫這個會報錯。。。。。 @ContextConfiguration(classes=PersonConfig.class) public class PersonTest { @Autowired //spring annotation不支持靜態變量注入 static Person per; //當為靜態變量注入時,會報Autowired annotation is not supported on static fields @Test public void test1() { per.talk(); } //不能在main方法里面,否則會報空指針 /*public static void main(String[] args) { per.talk(); }*/ }
然后發現 ,spring注解不支持靜態變量注入
