- 博客(10)
- 资源 (7)
- 收藏
- 关注
原创 自定义 Bean 作用域
Spring 实现自定义的 bean 作用域实现Scope 接口 调用AbstractBeanFactory#registerScope 方法 bean 配置的地方指定作用域,如 <bean scope=""> 或 @Scope("")以下实现一个线程级别的 bean 的作用域先看 Scope 接口的实现/** * 线程级别 scope * * @author ConstXiong */public class ThreadLocalScope impl...
2021-03-12 09:29:28 538 2
原创 Bean 的作用域
Spring bean 的作用域包含singleton prototypeweb 应用中再加上request session application websocket基于上一篇的应用进行改造,加入 bean,设置作用域。spring xml 加入 prototype 的 User<bean id="user2" class="constxiong.User" scope="prototype"/>在 Controller 中加入各种作用域bean 的请求.
2021-03-11 17:39:31 235 1
原创 maven 集成 tomcat 以 jar 的方式打包 web 应用
maven 集成 tomcat 以 jar 的方式打包 web 应用,需要插件,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.apache.org/POM/4.0.0 http://maven.apache.org/xsd/mave
2021-03-10 14:11:27 1632 3
原创 Spring 依赖注入与依赖查找来源的区别
依赖查找的来源:xml <bean> BeanDefinitionRegistry#registerBeanDefinition SingletonBeanRegistry#registerSingleton 注解 @Bean @Component 派生出的注解,如@Configuration IoC 容器内建 bean。如ConfigurationClassPostProcessor,AutowiredAnnotationBeanPostProcessor,CommonAn...
2021-03-09 08:51:35 661 2
原创 Spring 依赖注入的处理过程与 DependencyDescriptor 的说明
Spring 依赖注入处理的代码入口在DefaultListableBeanFactory#resolveDependency() 方法。该方法第一个参数DependencyDescriptor descriptor 继承自 InjectionPoint,是这次依赖注入的描述,类里的信息说明如下://依赖所在的声明类private final Class<?> declaringClass;//如果依赖是成员方法的某个参数,则这里记录该成员方法的名称private Stri..
2021-03-08 09:23:32 1156 1
原创 Spring 各种 Aware 接口回调注入
Spring bean 实现了如下 Aware 接口,可以注入相关对象:BeanFactoryAware, //获取 IoC 容器 BeanFactory 的能力ApplicationContextAware, //获取 Spring 应用上下文 ApplicationContext 对象的能力EnvironmentAware, //获取 Environment 对象的能力ResourceLoaderAware,
2021-03-05 08:58:48 1023 1
原创 Spring Bean 生命周期内的 Exception 复现
涉及 Bean 相关的异常说明:NoSuchBeanDefinitionException:Bean 不存在 NoUniqueBeanDefinitionException:多个 Bean BeanInstantiationException:注册了无法实例化的 Bean BeanCreationException:Bean 的初始化过程报错,如 init 方法内报错 BeanDefinitionStoreException:BeanFactory 遇到非法的 BeanDefinition,如
2021-03-03 08:55:19 363 3
原创 Spring 内建 Bean
Spring Ioc 容器在启动时会默认创建一些 Bean,用来后续各种处理:Environment:外部化配置以及 Profiles systemEnvironment Property 对象:Java 系统属性 systemEnvironment Map 对象:操作系统环境变量 MessageSource:国际化资源相关 LifecycleProcessor:Lifecycle Bean 处理器 ApplicationEventMulticaster:Spring 事件广播器 Confi
2021-03-03 08:54:03 213 1
原创 Spring Bean 的别名
Spring IoC 容器中指定别名的方式:xml <bean> name 属性使用 空格、英文逗号(,)、英文分号(;) 分隔 <alias name="user1" alias="user5"/> 指定示例代码:spring xml 配置<bean name="user1,user2 user3;user4" class="constxiong.User"> <property name="id" value="1"/> <.
2021-03-02 09:15:23 711
原创 Spring Bean 未指定名称的命名规则
Spring IoC 容器中,指定名称的方式:xml <bean> 配置 id 或 name 注解指定 name BeanDefinition 指定 name register Bean 指定 beanName 参数这些都比较好理解。那如果未指定 Bean 的名称,Bean 会被如何命名呢?常见的 Bean 命名规则如下:xml <bean> 未指定 id、name, 生成规则:package.类名、package.类名#编号 @Component 未.
2021-03-01 16:04:41 1966 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人