javascript
Spring零配置之@Configuration注解详解
轉(zhuǎn)載自?Spring零配置之@Configuration注解詳解
?
?
@Configuration介紹
?
Spring3.0之前要使用Spring必須要有一個(gè)xml配置文件,這也是Spring的核心文件,而Spring3.0之后可以不要配置文件了,通過(guò)注解@Configuration完全搞定。
?
?
@Configuration即用來(lái)代替Spring配置文件的,它就是一個(gè)@Component組件,接收一個(gè)value值也就是bean的名字,value可以不填。
?
@Configuration使用
?
下面是一個(gè)使用實(shí)例,創(chuàng)建了一個(gè)userService和accountService的實(shí)例,accountService實(shí)例引用userService實(shí)例。
?
@Configuration
@ComponentScan(basePackages = { "com.test.web" })
@Import(UserConfg.class)
@ImportResource(locations = {"classpath:config/spring-beans.xml"})
public class MainConfg {
?
@Bean(name = "userService", initMethod = "init", destroyMethod = "destroy")
@Scope("singleton")
public UserService userService() {
return new UserService();
}
?
@Bean
public AccountService accountService(UserService userService) {
AccountService as = new AccountService();
as.setUserService(userService);
return as;
}
?
}
?
注解說(shuō)明
@Configuration:代表這個(gè)類(lèi)是一個(gè)配置類(lèi)。
@ComponentScan:用來(lái)掃描指定包下面的注解類(lèi)。
@Import:用來(lái)導(dǎo)入其他的@Configuration配置類(lèi)。
@ImportResource:用來(lái)導(dǎo)入xml配置文件,比如某些配置一定要xml配置。
@Bean:用來(lái)定義一個(gè)bean,可以指定初始、銷(xiāo)毀方法,及bean范圍等。
?
這些注解都在spring-context包下,還有其他注解用來(lái)解放xml形式的配置,大量xml配置可java配置化,只要定義好,Spring會(huì)自動(dòng)掃描包下面的@Configuration注解的配置文件類(lèi)來(lái)裝配。
?
總結(jié)
以上是生活随笔為你收集整理的Spring零配置之@Configuration注解详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 自提是什么 什么是自提
- 下一篇: gradle idea java ssm