@configuration和@component之间的区别是什么?
@configuration和@component之间的区别是:@Component注解的范围最广,所有类都可以注解,但是@Configuration注解一般注解在这样的类上:这个类里面有@Value注解的成员变量和@Bean注解的方法,就是一个配置类。
@configuration和@component相同点是都是注解在类上的注解。
Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控制层(Web 层)相对应。虽然目前这 3 个注释和 @Component 相比没有什么新意,但 Spring 将在以后的版本中为它们添加特殊的功能。所以,如果 Web 应用程序采用了经典的三层分层结构的话,最好在持久层、业务层和控制层分别采用 @Repository、@Service 和 @Controller 对分层中的类进行注释,而用 @Component 对那些比较中立的类进行注释。
configuration 英[kənˌfɪgəˈreɪʃn] 美[kənˌfɪgjəˈreɪʃn]
词类:n. 配置; 布局,构造; [化] (分子中原子的) 组态,排列; [物] 位形,组态;
例句:Prices range from$ 119 to$ 199, depending on the particular configuration.
价格因具体配置而异,从119美元至199美元不等。
component 英[kəmˈpəʊnənt] 美[kəmˈpoʊnənt]
词类:n. 成分; 组分; 零件; [数] 要素;
adj. 成分的; 组成的; 合成的; 构成的;
例句:Enriched uranium is a key component of a nuclear weapon
浓缩铀是核武器的关键组成部分。