Spring
文章平均质量分 76
DuanJiaNing_
越努力越幸运
展开
-
Spring 实战 一: 装配 Bean
Spring配置可选方案优先级(建议)尽可能的使用自动配置机制,显式配置越少越好;使用类型安全并且比XML更强大的javaConfig;最后,当想使用便利的XML命名空间,并且在XML中没有同意配置时,才应该使用XML。@Component– 组件在类上使用Component注解,以表明该类作为组件类,并通过XML或javaConfig告知Spring为这个类创建Bean。Spring上下文原创 2018-03-21 16:50:58 · 301 阅读 · 0 评论 -
Spring 实战二: 环境与 profile+ 条件化 Bean
环境与 profile在 spring 3.1 版本中引入环境相关的 bean 功能,需要环境来决定该创建哪个 bean 和不创建哪个 bean,spring 在运行时才会做出决策, 即同一个部署单元(可能为 war 文件)能够适应用所有的环境,无需重新构建。使用 profile 首先需将所有的 bean 定义整理到一个或多个 profile 中,部署时确保对应的 profile 激活。...原创 2018-07-14 09:45:46 · 492 阅读 · 0 评论 -
Spring 实战 三: 自动装配的歧义性
自动装配仅在只有一个 bean 匹配时有效,如果不只有一个 bean 的话,就会阻碍 spring 自 动装配属性、构造器参数或方法参数。解决: 1. 将可选 bean 中的每一个设为首选( primary ) 2. 使用限定符来帮助 spring 缩小范围( qualifier )标识首选的 bean@Primary 可与 @Component 和 @Bean 注解配合使用。...原创 2018-07-14 09:46:10 · 234 阅读 · 0 评论 -
Spring 实战 四: bean 的作用域
在默认的情况下,Spring 上下文的所有 bean 都是作为单例存在的。 单例会保持一些状态,对象会被污染,有时重用时不安全的。作用域: 1. 单例(Singleton):整个应用中,只创建 bean 的一个实例 2. 原型(Prototype):每次注入或通过 Spring 上下文获取时都创建新的实例 3. 会话(Session):在 Web 应用中,为每个会话创建一个 bean ...原创 2018-07-14 09:46:38 · 308 阅读 · 0 评论 -
Spring 实战 七: 声明切面的两种方式
使用注解@After@AfterReturning@AfterThrowing@Around@Before使用 javaConfig 时需要在配置类上加上 @EnableAspectJAutoProxy 注解,xml 时使用:环绕通知 args 限定符,表明床底给 play 方法的 int 型参数也会传递到通知中。 通过注解引入新功能(新方法)...原创 2018-07-30 08:31:38 · 1282 阅读 · 0 评论 -
Spring 实战 五: 运行时注入
spring 提供了两种在运行时求值的方式:属性占位符(Property placeholder)spring 表达式语言(SpEL) 属性占位符形式为 “${…}” ,使用 @Value 注解,java 配置需要配置 PropertySourcesPlaceholderConfigurer bean,xml 可通过 开启。 xml 中也可通过 “${…}”...原创 2018-07-23 08:39:42 · 744 阅读 · 0 评论 -
Spring 实战 六: 什么是面向切面编程 + Spring 对 aop 的支持 + 通过切点选择连接器
软件系统中的一些功能需要应用到应用程序的多个地方,如日志、安全、缓存和声明式事务。 散布于应用中多处的功能被称为横切关注点,这些横切关注点从逻辑上与应用的业务逻辑相分离,但往往会直接嵌入到业务逻辑之中,把这些横切关注点从业务逻辑分离正是面向切面编程要解决的问题。继承委托使对象体系变得复杂,切面提供了另一种更加清晰简洁的方案。每个关注点都集中在一个地方,不用分散在代码中。服务模块...原创 2018-07-23 08:44:22 · 359 阅读 · 0 评论 -
bean 加载时的生命周期
bean 加载时的生命周期0 类加载(静态代码块)1 对象初始化(构造代码块,构造器)2 BeanNameAware#setBeanName3 BeanFactoryAware#setBeanFactory4 ApplicationContextAware#setApplicationContext5 @PostConstruct6 InitializingBean#afterPro...原创 2018-09-28 08:37:59 · 225 阅读 · 0 评论 -
Spring IOC 容器启动流程分析
Spring IOC 容器启动流程分析使用 Spring 时,XML 和注解是使用得最多的两种配置方式,虽然是两种完全不同的配置方式,但对于 IOC 容器来说,两种方式的不同主要是在 BeanDefinition 的解析上。而对于核心的容器启动流程,仍然是一致的。AbstractApplicationContext 的 refresh 方法实现了 IOC 容器启动...原创 2019-08-29 12:48:28 · 417 阅读 · 0 评论