@Component 和 @Bean 的区别
Posted kukufan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@Component 和 @Bean 的区别相关的知识,希望对你有一定的参考价值。
觉得这个很不错, 所以自己留着以后备用
原文出处: https://blog.csdn.net/qq_38534144/article/details/82414201
Spring帮助我们管理Bean分为两个部分,一个是注册Bean,一个装配Bean。
完成这两个动作有三种方式,一种是使用自动配置的方式、一种是使用JavaConfig的方式,一种就是使用XML配置的方式。
@Compent 作用就相当于 XML配置
- @Component
- public class Student {
- private String name = "lkm";
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
@Bean 需要在配置类中使用,即类上需要加上@Configuration注解
- @Configuration
- public class WebSocketConfig {
- @Bean
- public Student student(){
- return new Student();
- }
- }
两者都可以通过@Autowired装配
- @Autowired
- Student student;
那为什么有了@Compent,还需要@Bean呢?
如果你想要将第三方库中的组件装配到你的应用中,在这种情况下,是没有办法在它的类上添加@Component注解的,因此就不能使用自动化装配的方案了,但是我们可以使用@Bean,当然也可以使用XML配置。
以上是关于@Component 和 @Bean 的区别的主要内容,如果未能解决你的问题,请参考以下文章