java @Bean和@Autowired有什么区别

区别是:@Bean修饰的方法表示初始化一个对象并交由Spring IOC去管理,@Bean 只能和@Component @Repository @Controller @Service @Configration 配合使用。@Autowired 可修饰变量和方法,用于完成自动装配(将需要的外部资源注入),自动装配的前提要先有才能装配,直接引用资源就行。

java @Bean和@Autowired有什么区别-Worktile社区

@Bean

@Bean修饰的方法表示初始化一个对象并交由Spring IOC去管理,@Bean 只能和@Component @Repository @Controller @Service @Configration 配合使用。

JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,较好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。

比如说一个购物车程序,要实现购物车中添加一件商品这样的功能,就可以写一个购物车操作的JavaBean,建立一个public的AddItem成员方法,前台Jsp文件里面直接调用这个方法来实现。如果后来又考虑添加商品的时候需要判断库存是否有货物,没有货物不得购买,在这个时候我们就可以直接修改JavaBean的AddItem方法,加入处理语句来实现,这样就完全不用修改前台jsp程序了。

用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

@Autowired

@Autowired 可修饰变量和方法,用于完成自动装配(将需要的外部资源注入),自动装配的前提要先有才能装配,直接引用资源就行。

@Autowired是一种注解,可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作,@Autowired标注可以放在成员变量上,也可以放在成员变量的set方法上,也可以放在任意方法上表示,自动执行当前方法,如果方法有参数,会在IOC容器中自动寻找同类型参数为其传值。

这里必须明确:@Autowired是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifier使用;

前者,Spring会直接将UserDao类型的少数一个bean赋值给userDao这个成员变量;后者,Spring会调用setUserDao方法来将UserDao类型的少数一个bean装配到userDao这个属性。

Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。

延伸阅读:

JavaBean需求

JavaBean是java类,属于某些特定的译码指导方针,并且扩展了适应性和范围,允许用户访问内部的属性和方法。通过这些,JavaBean类可以用于下列方法:

1、在IDE中,JavaBean的功能允许应用开发者浏览其中的方法,即使JavaBean是被编译的,并且无法利用原始的源文件。

2、在 Remote Method Invocation(RMI) 的分布式风格中,这项功能听起来并不让人兴奋,但是在未来的包含企业版的JavaBean后,将改变这种情况。

3、为了JavaBean的属性值和状态可以保存到磁盘上。

文章标题:java @Bean和@Autowired有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38061

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编的头像小编
上一篇 2023年2月13日 下午11:01
下一篇 2023年2月13日 下午11:04

相关推荐

  • 为什么要进行项目管理

    项目管理对于公司的运营至关重要,主要原因包括:保证项目质量、控制成本、优化资源分配、提升工作效率、促进团队协作、提供明确的工作方向、提升客户满意度。在这些原因中,最为突出的是保证项目质量。项目管理通过系统的、科学的方法和工具,确保项目在预定的时间、预算和资源内,达到预期的效果。此外,良好的项目管理还…

    2024年8月6日
    000
  • pmp项目管理是什么

    PMP(项目管理专业人员)项目管理是一种全球通用的项目管理标准和认证体系。它由项目管理协会(PMI)制定,旨在为项目管理人员提供系统的项目管理知识、工具和技术。项目管理五大过程组、九大知识领域和常用的项目管理工具和技术是PMP项目管理的核心内容。五大过程组包括启动、规划、执行、监控和收尾,它们涵盖了…

    2024年8月6日
    000
  • 为什么要做项目管理

    项目管理是公司运营中的重要环节,它能帮助我们理解项目目标、规划项目流程、评估项目风险、控制项目成本和保证项目质量。其中,理解项目目标是项目管理的首要任务。只有清晰明确的目标,才能指引团队正确行动,从而提升项目成功率。例如,如果我们的目标是提升软件的用户体验,那么在项目管理中,我们就需要细分这个目标,…

    2024年8月6日
    000
  • 为什么要学习项目管理

    学习项目管理有助于提升工作效率、提高团队协作能力、增强风险管理能力、提升职业发展空间。提升工作效率是项目管理的核心优势之一。通过系统化的项目管理方法,可以更有效地分配资源、设定明确的目标和时间表,从而确保项目在规定的时间和预算内完成。项目管理工具如甘特图、任务列表和资源管理表格,可以帮助管理者更清晰…

    2024年8月6日
    000
  • 项目管理师是干什么的

    项目管理师的主要职责包括项目规划、资源管理、风险控制、进度监督、沟通协调、质量保证、预算管理、报告编写等。其中,项目规划是项目管理师的重要任务之一。项目规划包括制定详细的项目计划,明确项目的目标、范围、时间表和资源需求。项目管理师需要确保所有团队成员理解项目的目标和任务,并制定合理的时间表和资源分配…

    2024年8月6日
    000

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部