zoukankan      html  css  js  c++  java
  • spring boot 如何将没有注解的类@Autowired

    等于将类交给spring管理,也就是IOC。

    注解@Autowired是自动装配,也就是spring帮你创建对象,当然前提是这个@Autowired的类已经配置成Bean了,spring配置bean文件我们常用的方法是编写配置文件。而spring boot则不需要这么麻烦,它提供了两个注解可以实现这个功能。

    1.@Configuration

    2.@Component

    虽然@Configuration注解本质上还是 @Component,但是,两者是有区别的。这里简单的提一下,需要深入了解的可以百度一下这两个注解。

    1.@Configuration一般是和@Bean一起使用,在@Configuration注解的类下的方法配置@Bean,则表明该方法IOC;而@Component注解的类中是不能定义类内依赖的@Bean注解的方法(你也可以在@Component的类中使用@Bean,后面这句话是spring的文档说明中翻译过来的,对于这里还是有点混乱,看完下面会清晰)。

    2.@Configuration是通过cglib代理来调用的,而@Component并没有通过cglib代理来调用。

    例如:A类中有方法1和方法2,方法2调用了方法1。(方法1返回的是一个对象)

    (1)使用@Configuration来注解类,并用@Bean来注解两个方法,这时候调用的是同一个方法1返回的对象。(也就是说方法1依赖注入好了已经交给spring管理起来的,当方法二再调用到方法1的时候,直接从spring中提取出刚注入好的方法1的对象)

    (2)使用@Component来注解类,并用@Bean来注解两个方法,这时候调用的是两个不同的方法1返回的对象。(这里应该可以说@Bean并没有起到注入的作用。当然如果想要在@Component中调用的是同一个方法1的话,只需要在该类中@Autowired一个方法1放回的对象)
    ---------------------

    原文:https://blog.csdn.net/thesmalltears/article/details/79207232

  • 相关阅读:
    Alpha阶段第三次Scrum Meeting
    Alpha阶段第二次Scrum Meeting
    OverWatch团队文档格式规范
    Alpha阶段第一次Scrum Meeting
    BUAA_OVERWATCH第一次行动前战略部署
    【团队项目选题】自选项目:桌游APP
    团队博客作业- Week3
    龙威零式_团队项目例会记录_9
    龙威零式_团队项目例会记录_8
    数据获取以及处理系统 --- 技术规格说明书
  • 原文地址:https://www.cnblogs.com/Amos-Turing/p/9999354.html
Copyright © 2011-2022 走看看