天天看點

Spring注入Bean的幾種方式Spring注入Bean的幾種方式

Spring注入Bean的幾種方式

通過注解注入Bean

使用xml檔案,一個一個的注入,就例如下面這樣

xml掃描包的方式

通過注解注入的一般形式

般情況下,注入Bean有一個最直白,最易懂的方式去實作注入

public class MyBean{
	}
           
//建立一個class配置檔案
	@Configuration
	public class MyConfiguration{
		//将一個Bean交由Spring進行管理
        @Bean
        public MyBean myBean(){
            return new MyBean();
        }
	}
           

與xml有一點不同,這裡在Test中,執行個體化的不再是ClassPathXmlApplicationContext,而是擷取的AnnotationConfigApplicationContext執行個體。

ApplicationContext context = new AnnotationConfigApplicationContext(MyConfiguration.class);
	MyBean myBean = cotext.getBean("myBean",MyBean.class);
	System.out.println("myBean = " + myBean);
           

上面的代碼中MyBean也就是我們需要Spring去管理的一個Bean,他隻是一個簡單的類。而MyConfiguration中,我們首先用@Configuration注解去标記了該類,這樣标明該類是一個Spring的一個配置類,在加載配置的時候會去加載他。

在MyConfiguration中我們可以看到有一個方法傳回的是一個MyBean的執行個體,并且該方法上标注着@Bean的注解,标明這是一個注入Bean的方法,會将下面的傳回的Bean注入IOC。

通過構造方法注入Bean

通過set方法注入Bean

通過屬性去注入Bean

@Component
	public class MyBeanProperty {
 
    	@Autowired
    	private AnotherBean anotherBeanProperty;
 
    	@Override
    	public String toString() {
        	return "MyBeanProperty{" +
            	"anotherBeanProperty=" + anotherBeanProperty +
            	'}';
    	}
	}
           

使用AnotherBean這個執行個體對象,我們可以通過@AutoWired去自動裝配它。