SIA實戰(二):不用XML,使用java類配置Bean
阿新 • • 發佈:2019-01-26
如果你已經厭煩使用XML配置Spring Bean,那麼你可以嘗試使用普通的java類來配置bean,這樣避免了XML中字串導致的錯誤,讓異常從執行期提前到了編譯器
以下是基於java配置bean的詳細過程,文章的最後附上原始碼
1.首先配置元件掃描器,這也是唯一需要配置xml的地方
<context:component-scan base-package="com.yonyou.config"/>
2.使用@Configuration註解編寫配置類
@Configuration
public class JavaConfig {
@Bean
public User user(){
User user = new User("jay","1234");
user.setAddress(this.addr());
return user;
}
@Bean
public Address addr(){
Address addr = new Address();
addr.setProvice("BJ");
addr.setCity("beijing");
return addr;
}
}
第一步的元件掃描配置可以掃描到@Configuration註解,表示這是一個用於配置Spring的類
從程式碼中可以看到方法上都加了@Bean,表示這個方法返回的是一個Bean,由Spring容器管理,而方法名就是Bean的id
同時為Bean裝配屬性也變得十分簡單,可以用構造器注入,也可以用setter注入,更加符合java的編寫習慣
3.編寫測試程式碼
目前已經向Spring容器註冊了Bean,那麼怎麼取出來呢?
ApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class);
Address address = (Address) context.getBean("addr" );
System.out.println(address);
User user = (User) context.getBean("user");
System.out.println(user);
可以看到這裡使用了AnnotationConfigApplicationContext,傳入的引數是java配置類的位元組碼物件
輸出結果如下:
Address [provice=BJ, city=beijing]
User [username=jay, password=1234, address=Address [provice=BJ, city=beijing]]