当前位置: 首页 > news >正文

网站创建公司哪家好河南万安建设集团有限公司网站

网站创建公司哪家好,河南万安建设集团有限公司网站,电商怎么注册开店,拟在建项目信息网官网获取bean 默认情况下,在Spring项目启动时,会把bean都创建好(但是还会受到作用域及延迟初始化的影响)放在IOC容器中,如果想主动获取这些bean,可以通过如下方式 根据name获取bean Object getBean&#xff08…

获取bean

  • 默认情况下,在Spring项目启动时,会把bean都创建好(但是还会受到作用域及延迟初始化的影响)放在IOC容器中,如果想主动获取这些bean,可以通过如下方式
    • 根据name获取bean
      • Object getBean(String name)
    • 根据类型获取bean
      • <T> T getBean(Class<T> requiredType)
    • 根据name以及类型获取bean
      • <T> T getBean(String name,Class<T> requiredType)

具体实现代码及运行结果如下

具体代码

  •  
        @AutowiredApplicationContext applicationContext;  // 自动注入IOC容器对象@Testpublic void GetBean() {// 根据bean的名称获取DeptController bean1 = (DeptController) applicationContext.getBean("deptController");System.out.println(bean1);// 根据bean的类型获取DeptController bean2 = applicationContext.getBean(DeptController.class);System.out.println(bean2);// 根据bean的名称以及类型获取DeptController bean3 = applicationContext.getBean("deptController", DeptController.class);System.out.println(bean3);}

运行结果

在SpringBoot项目中设置bean对象

在Spring Boot中,可以使用注解来定义和配置Bean。常用的注解包括:

  • @Component:用于标识一个普通的Bean类。
  • @Service:用于标识一个服务类,通常用于业务逻辑的处理。
  • @Repository:用于标识一个数据访问类,通常用于数据库操作。
  • @Controller:用于标识一个控制器类,通常用于处理HTTP请求。

除了以上常用的注解外,还有一些特殊用途的注解,如:

  • @Configuration:用于标识一个配置类,通常用于配置Bean的创建和依赖关系。
  • @Autowired:用于自动注入依赖的Bean。
  • @Value:用于注入配置属性的值。

通过使用这些注解,可以将普通的Java类转化为Spring Bean,使其由Spring容器进行管理。Spring容器会负责创建、初始化和销毁这些Bean,并处理它们之间的依赖关系。在应用程序中,可以通过注入Bean来使用其提供的功能和服务。

bean作用域

  • Spring支持5种作用域,后三种在web环境才生效
  • 作用域说明
    singleton容器内同名称的bean只有一个实例(单例)默认
    prototype每次使用该bean时会创建新的实例(非单例)
    request每个全球范围内会创建新的实例(web环境下,了解)
    session每个会话范围内会创建新的实例(web环境下,了解)
    application每个应用范围内会创建新的实例(web环境下,了解)
  • 可以通过@Scope注解来进行配置作用域

注意事项

  • 默认singleton的bean,在容器启动时被创建,可以使用@Lazy注解来延迟初始化(延迟到第一次使用时,才会创建该bean对象)。

  • prototype的bean,每一次使用该bean时都会创建一个新的实例。

  • 实际开发过程中,绝大部分的bean是单例的,也就是说绝大部分bean不需要配置scope属性。

具体代码及效果

  • scope为默认值singleton
    •     @Testpublic void GetBean() {// 根据bean的名称获取for (int i = 1; i < 5; i++) {DeptController bean1 = (DeptController) applicationContext.getBean("deptController");System.out.println(bean1);}
      }
  • 运行结果(都是同一个bean对象)

  • scope为prototype
    •  
  • 运行结果(每一次都会创建一个新的实例对象)

第三方bean

  • 对于第三方的类,我们无法在其代码中加入注解来将其添加到IOC容器中去。
  • 如果要管理的bean来自第三方(不是自定义的),是无法使用@Component及其衍生注解来说明bean的,就需要用到@Bean注解,通过@Bean注解的name/value属性指定bean名称,如果未指定,默认是方法名

具体实现

  • 在SpringBoot项目的启动类中加上一个方法,在该方法中创建第三方类的对象并且返回该对象,并且在该方法上加入@Bean注解(但是这种方式不建议
    • public class TliasApplication {public static void main(String[] args) {SpringApplication.run(TliasApplication.class, args);}@Bean  // todo 将发放返回值交给IOC容器管理,称为IOC容器的bean对象public SAXReader saxReader() {return new SAXReader();}
      }
      
  • 若要管理第三方的bean对象,建议对这些bean进行集中分类配置,可以通过@Configuration注解声明一个配置类。当应用程序启动时,Spring Boot会自动扫描并加载所有带有特定注解的配置类
    • 具体实现如下
    • @Configuration  
      public class BeanConfig {@Bean  // todo 将发放返回值交给IOC容器管理,称为IOC容器的bean对象public SAXReader saxReader() {return new SAXReader();}
      }
  • 如果在配置第三方类时要进行依赖注入的话,就可以在创建的方法中设置要注入的对象类型及其名称,然后Spring容器会继续自动装配

    • 具体代码

      • @Configuration
        public class BeanConfig {@Bean  // todo 将发放返回值交给IOC容器管理,称为IOC容器的bean对象public SAXReader saxReader(DeptService deptService) {return new SAXReader();}
        }

注意事项

  • 通过@Bean注解的name/value属性可以声明bean的名称,如果不指定,默认bean的名称就是方法名
  • 如果第三方bean需要依赖其它的bean对象,直接在bean定义方法中设置形参即可,容器会根据类型自动装配、
  • 项目中自定义的,使用@Component及其衍生注解
  • 项目中第三方引入的,使用@Bean注解
http://www.yayakq.cn/news/717621/

相关文章:

  • 网站加急备案网页设计教程课本
  • 网站建设之数据信息的保密性站长工具爱站网
  • 青岛免费建站网络推广设计建筑的软件
  • e通网网站建设福州做网站的公司电话
  • 营销型网站如何建设方案大型旅游网站源码 织梦 2016
  • 网站备案和域名备案一样吗代驾软件开发需要多少钱
  • 网站和网页建设题目wordpress被自动发布文章
  • 网站设计弹窗app注册拉新平台
  • 社交网站开发外文高德地图导航放弃重庆
  • 国外网站做任务套利有没有做数学题挣钱的网站
  • 个人网站的搭建方法短网址在线生成短网址
  • 怎样做自己的的社交网站新品发布会朋友圈文案
  • 做网站数据库坏了最权威的做网站设计公司价格
  • 找网络公司做网站需要注意什么怎么建自己公司网站
  • 企智网站建设什么是网站托管
  • 网站建设备案流程图荣耀手机正品官网查询
  • 卖域名的公司 骗做网站自己人网站建设
  • 农业网站模板WordPress东莞工信部网站
  • 建立企业网站要多少钱桓台县网站建设
  • asp.net网站开发实例教程关键词seo如何优化
  • 旅游网站建设技术有哪些内容昆山做网站公司有哪些
  • 做网站注意wordpress 整合
  • app网站建设软件东莞建网站哪家好
  • 官方关停13家网站传奇网页游戏赤月
  • 微信 app 微网站 整合网站建设的岗位叫什么
  • 做暧暧视频网站下载莆系医疗网站建设
  • 郑州高新区网站建设桂林八景
  • ui最好的网站科技节手抄报
  • 音乐网站需求分析营销型 网站建设流程
  • 合适的网站建设的公司怎么找深圳龙华区属于什么风险区