首先是对于@Compont注解的一点看法:
对于该注解来说是Spring依赖注入的内容,当Spring容器扫描加载到添加该注解的类时,会自动生成一个单例的bean,同时把这个普通的java对象(pojo)放入spring容器中,当使用@Autowired或者@Resource时spring容器会自动寻找容器内对应的bean并将之赋值(最直观的感受是不需要手动去new一个对象并且有些配置类不需要重新写配置代码)。
其次是对于@Bean注解的一点看法:
对于该注解主要结合@Configuration来定义Bean,其结果跟@Compont的结果是一样的,其实对于有此注解的类的本身也会被spring容器看成一个bean对于这些需要注意一点,spring不允许存在两个名字相同的bean。
当然对于实际业务中出现名字相同的Bean也有方法可以解决,最简单就是改名字,不过就不讨论了
其实对于Bean来说就是spring框架的依赖注入内容,也就是常说的,把东西交给spring去管理
对于@Configuration来说使用的是同一个实例,而对于@Compont来说使用的则是不同的实例