spring bean id和bean name的区别】的更多相关文章

今天在分析问题时发现一个大家平时都不太注意的spring 配置问题,发出来分享下: 首先澄清一个概念: 同名bean:多个bean 有相同的 name 或者 id,称之为同名bean <bean> 的id 和 name的区别 id和name都是spring 容器中中bean 的唯一标识符. id: 一个bean的唯一标识  , 命名格式必须符合XML ID属性的命名规范 name: 可以用特殊字符,并且一个bean可以用多个名称:name=“bean1,bean2,bean3” ,用逗号或者分…
© 版权声明:本文为博主原创文章,转载请注明出处 @ImportResource -引入XML配置文件 @Value -从配置文件中获取值 实例 1.项目结构 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven…
7.8 深入理解容器中的Bean 7.8.1 抽象Bean与子Bean 把多个<bean.../>配置中相同的信息提取出来,集中成配置模版------这个配置模版并不是真正的Bean,因此Spring不应该创建该配置模版,于是需要为该<bean.../>配置增加abstract=“true” ------这就是抽象Bean. 抽象Bean不能被实例化,Spring容器不会创建抽象Bean实例.抽象Bean的价值在于被继承,抽象Bean通常作为父Bean被继承. 抽象Bean只是配置…
-------------------------注解扫面的bean的ID问题-------------------------- 0.前提需要明白注解扫描出来的bean的id默认是类名首字母小写,当然可以指定id: (1)只写注解不指定id 上面实际上是等价于xml中的下面配置: <bean id="userServiceImpl" class="cn.qlq.service.UserService"></bean> 测试:(程序中获取sp…
spring bean 的作用域之间有什么区别? spring容器中的bean可以分为五个范围.所有范围的名称都是说明的, 1.singleton:这种bean范围是默认的,这种范围确保不管接受到多个请求,每个容器中有一个bean的实例,单利模式由bean factory自身来维护. 2.Protype:原先通过范围与单例范围相反,为每一个bean请求提供一个实例. 3.request:在请求bean范围内会每一个来自客户端的网络请求创建一个实例,在请求完成之后,bean会失效并被垃圾回收器回收…
service-security-provider应用有provider和consumer配置文件 其中secutrity-consumer引用两个服务 <dubbo:reference interface="cn.ce.best.member.service.KaUserService" id="kaUserService" init="true"/> <dubbo:reference interface="cn.c…
问题背景:从本地调用服务器的dubbo接口进行测试 实现思路:基于IDEA+Spring+maven+Dubbo搭建测试项目,从本地直接调用   具体实现思路可参考博客:https://www.cnblogs.com/xiuxingzhe/p/9250737.html 碰到问题:引入测试目标jar后,调用其接口运行测试类时,报错如下 Caused by: java.lang.IllegalStateException: Duplicate spring bean id cfgDistributo…
问题: 当我们的web应用做成一个大项目之后,里面有很多的bean配置,如果两个bean的配置id是一样的而且实现类也是一样的,例如有下面两份xml的配置文档: beancontext1.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "/spring-beans.dtd"&…
spring 创建bean有单例模式(singleton)和原始模型模式(prototype)这两种模式. 在默认的情况下,Spring中创建的bean都是单例模式的(注意Spring的单例模式与GoF提到的单例模式略微有些不同,详情参考Spring的官方文档). 一般情况下,有状态的bean需要使用prototype模式,而对于无状态的bean一般采用singleton模式(一般的dao都是无状态的). 所谓的状态场景是: 每次调用bean的方法,prototype都会提供一个新的对象(重新n…
@Component和@Bean的目的是一样的,都是注册bean到Spring容器中. @Component  VS  @Bean @Component 和 它的子类型(@Controller, @Service and @Repository)注释在类上.告诉Spring,我是一个bean,通过类路径扫描自动检测并注入到Spring容器中. @Bean不能注释在类上,只能用于在配置类中显式声明单个bean.意思就是,我要获取这个bean的时候,spring要按照这种方式去获取这个bean.默认…