Spring中配置元数据可以采用三种方式,它们可以混合使用
- 基于XML的配置元数据
- 基于注解的配置元数据
- 基于Java的配置元数据。默认情况下,方法名就是Bean的名称。
早在几年以前多数的java项目采用的是基于XML的方式,但是现在常用的方式为第二种和第三种,并且常常是结合起来使用。
什么是基于注解的配置元数据呢?
比如web项目中的Contrller层,Service层,Dao层均有想用的注解对应,在对应的类上加上诸如@Controller,@Service,@Repository,@Component的注解。
ps:需要注意的是,使用该种方式需要配合@ComponentScan来使用,如果使用的是SpringBoot,扫描组件的默认的路径为与Application.class同级的包
什么是基于Java的配置元数据呢?
比如:
@Configuration
public class ApplicationConfig{
@Bean(name = "httpClient")
public OkHttpClient httpClientCreate() {
return new OkHttpClient.Builder().connectTimeout(5000, TimeUnit.MILLISECONDS)
.readTimeout(15000, TimeUnit.MILLISECONDS).writeTimeout(500, TimeUnit.MILLISECONDS).build();
}
}