首页 > 其他分享 >spring中 beandefinition类中的6大属性

spring中 beandefinition类中的6大属性

时间:2023-09-19 11:14:52浏览次数:38  
标签:spring beandefinition bean 单例 BeanDefinition 类中 属性

什么是 BeanDefinition?

BeanDefinition 表示bean的定义,spring根据 beandefinition 用来创建bean对象,他有很多属性来描述bean。

1.beanClass :表示一个bean 的类型,比如UserService.class ,在创建bean 的过程中会根据此属性来实例化得到的对象。

2. scope :表示一个bean的作用域,比如单例 singleton , 原型bean :prototype

3. isLazy:表示是否懒加载,原型bean的islazy不起作用,懒加载的单例bean,会在第一次getBean的时候生产该bean,非懒加载的单例bean,则会在spring启动过程中直接生成好。

4.dependsOn:表示一个bean创建之前所依赖的其他bean,在bean创建之前,他所依赖的bean需要全部创建好。

5.primary:一个bean是主动bean ,在spring中一个类型学可以用多个bean,此时会判断这些bean中是否存在主bean,如果存在直接将bean注入给属性。

6.initMethodName: 表示一个bean的初始化方法,bean生命周期中有一个步骤初始化,spring会在初始化中去调用这个方法,这个方法由程序员自己去实现。

@bean @compont <bean/> 都会解析为 BeanDefinition

标签:spring,beandefinition,bean,单例,BeanDefinition,类中,属性
From: https://www.cnblogs.com/zoubuqing/p/17714029.html

相关文章

  • Springboot使用@value获取配置文件参数
    使用@value获取yml参数值@Value("${value}")//多级使用.连接例:${value.value}privateStringvalue;@value获取不到值的情况//错误1:使用了static或者final修饰valueprivatestaticStringvalue;privatefinalStringvalue;//错误2:类没有加上@Component(或者@Ser......
  • 提升 Spring Boot 吞吐量的 7 个神技,让你的项目飞起来!
    一、异步执行实现方式二种:使用异步注解@aysnc、启动类:添加@EnableAsync注解JDK8本身有一个非常好用的Future类——CompletableFuture@AllArgsConstructorpublicclassAskThreadimplementsRunnable{privateCompletableFuture<Integer>re=null;publ......
  • springboot中配置druid的依赖,与application.yml中设置druid的相关配置
    2023-09-18<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.16</version></dependency>application.ymlsprin......
  • Spring框架中 依赖注入和控制反转,最简单、最通俗的解释! 再加上一个AOP
    首先依赖注入==控制反转,只不过控制反转这个词汇,让人产生了错误的理解,才使用新的词汇:依赖注入来替换到这个词汇。“依赖注入”是指一个对象应用另外一个对象来提供一个特殊的能力。例如,把一个数据库连接以参数的形式传到一个对象的结构方法里,而不是在那个对象内部自行创......
  • SpringBoot 启动时报错Unable to start embedded Tomcat
    导读最近公司有个gradle构建的工程,需要改造成maven方式构建(点我直达)。转为maven后,启动时一直报tomcat错误,最终排查是因为servlet-api这个包导致的依赖冲突,将这个依赖排除即可启动解决排除依赖,检查项目是否包含:javax.servlet-api<exclusions><exclusi......
  • Springboot简单功能示例-5 使用JWT进行授权认证
    springboot-sample介绍springboot简单示例-使用JWT进行授权认证跳转到发行版查看发行版说明软件架构(当前发行版)Springboot3.1.3hutoolbcprov-jdk18on安装教程gitclone--branch自定义加密进行登录验证[email protected]:simen_net/springboot-sample.git主要功......
  • Spring Cloud Alibaba 学习实践(一)
    SpringCloudAlibaba学习实践(一)一、环境准备(使用Docker搭建基本环境)使用VMware虚拟机搭建的CentOS7作为基础的环境Linux系统的固定IP设定为192.168.10.20Linux系统的登录用户为root1.1.Docker安装Docker官网教程参考1.1.1.检查和卸载旧版本docker$yumremov......
  • spring boot 在Linux下服务启动报错Unable to find Java
    前言:最近在开发项目的过程中遇到了一些坑(也可能不是坑,是自己没弄过导致折腾了很久),我们项目中遇到有用到一些第三方的库,有些第三方库可能不支持openjdk,只支出jdk,所以就要更换一下jdk,然后服务器又是之前的前同事配置的,这时候我把服务器的jdk版本从原来的openjdk1.7换成了官方的......
  • [SpringSecurity5.6.2源码分析十一]:CorsFilter
    前言• 跨域:两个域名的(协议、域名/ip、端口)有任意一个不同即视为跨域• 跨域资源共享(Cors):即浏览器允许访问其他跨域的资源• 而CorsFilter就是SpringSecurity用来处理Cors的过滤器1.CorsConfigurer• CorsConfigurer是CorsFilter对应的配置类,其中就只有一个重要方法• co......
  • 启动一个springboot项目
    最终效果 在idea中  packagecom.fqs.helloworld.controller;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassHelloController{@GetMapping("/he......