
【Spring-IOC】
文章平均质量分 79
Spring-IOC
小小工匠
show me the code ,change the world
展开
-
Java Review - Spring BeanUtils 踩坑记
Spring BeanUtils 是 Spring 框架中的一部分,它提供了一套用于简化 Java 对象属性操作的工具类。尽管它的名字暗示了它可能与 Java Bean 相关,但实际上它并不操作 Java Bean 本身,而是操作对象的属性。BeanUtils 的核心功能是提供属性复制的方法,这在需要将一个对象的属性值复制到另一个对象时非常有用。属性复制方法可以将一个对象的属性值复制到另一个对象中,前提是这两个对象中必须存在相同名称和类型的属性。忽略特定属性。原创 2024-01-04 21:30:00 · 7876 阅读 · 0 评论 -
Spring - @Conditional全解
文章目录作用扩展注解Code如何校验自动配置类是否生效作用必须是@Conditional指定的条件成立,才给容器中添加组件,配置配里面的所有内容才生效扩展注解@Conditional扩展注解作用(判断是否满足当前指定条件)@ConditionalOnJava系统的java版本是否符合要求@ConditionalOnBean容器中存在指定Bean;@ConditionalOnMissingBean容器中不存在指定Bean;@ConditionalOnE原创 2021-04-03 11:37:22 · 18299 阅读 · 6 评论 -
Spring - @CompentScan全解
文章目录基本使用excludeFiltersincludeFilters@ComponentScan.Filter4种类型自定义FilterType基本使用在配置类上写@CompentScan注解来进行包扫描@Configuration@ComponentScan(basePackages = {"com.artisan"})public class MainConfig {}excludeFilters@Configuration@ComponentScan(basePacka原创 2021-04-03 11:06:57 · 17667 阅读 · 4 评论 -
Spring-注入参数详解-[通过util命名空间简化集合类型的配置]
概述步骤声明命名空间和schema配置Bean配置一个Map配置一个Set配置一个List配置一个PropertiesMapSetListProperties实例汇总概述如果希望配置一个集合类型的Bean,而非一个集合类型的属性,则可以通过util命名空间进行配置。在spring的配置文件中util命名空间类似于java.util包类对应,util命名空间提供了集合相关的配置,在使用原创 2017-07-21 13:52:16 · 15972 阅读 · 0 评论 -
Spring-基于注解的配置[03Bean作用范围和生命周期方法]
Bean的作用范围实例Bean的生命周期方法实例Bean的作用范围通过注解配置的Bean和通过<bean>配置的Bean一样,默认的作用范围都是singleton。 Spring为注解配置提供了一个@Scope注解,可以通过它显示指定Bean的作用范围。 @Scope注解通过入参指定Bean的作用范围。 在使用<bean>进行配置可以通过init-method和destory属性指定Bean原创 2017-07-30 06:37:58 · 14835 阅读 · 0 评论 -
Spring-基于Java类的配置
概述使用Java类提供Bean定义信息实例分析使用基于Java类的配置信息启动Spring容器直接通过Configuration启动Spring容器通过AnnotationConfigApplicationContext的构造函数加载配置类通过编码的方式加载多个Configuration配置类然后通过刷新容器应用这些配置类通过Import将多个配置类组装到一个配置类中然后仅需注册这个原创 2017-07-30 09:08:50 · 16012 阅读 · 0 评论 -
Spring-方法注入lookup、方法替换MethodReplacer接口
问题lookup方法注入概述实例方法一 通过在配置文件中配置的方式实现方法二 通过实现接口代码的方式实现小结方法替换MethodReplacer接口概述实例小结总结问题无状态Bean的作用域一般可以配置为singleton(单例模式),如果我们往singleton的Pilot类中注入prototype的Plane类,并希望每次调用Pilot的getPlane()方法都能返回原创 2017-08-02 01:38:30 · 16496 阅读 · 0 评论 -
Spring-使用外部属性文件01
导读概述PropertyPlaceholderConfigurer属性文件实例使用PropertyPlaceholderConfigurer属性文件PropertyPlacerholderConfigurer的其他属性locationsfileEncodingorderplaceholderPrefixplaceholderSuffix使用contextproperty-pla原创 2017-08-06 11:01:19 · 14743 阅读 · 0 评论 -
Spring-使用加密的属性文件02
概述实例DES加密解密工具类使用密文版的属性文件修改配置文件引用自定义的EncryptPropertyPlaceholderConfigurer概述对于不敏感的属性信息,以明文形式出现在属性文件中是合适的,但是如果属性信息是数据库用户名和密码等敏感信息,一般希望以密文的方式保存。这就要求对应用程序配置文件的某些属性进行加密,让Spring容器在读取属性文件后,在内存中对属性进行解密,然后将解原创 2017-08-07 06:34:49 · 14917 阅读 · 0 评论 -
Spring-引用Bean的属性值
概述实例基于XML方式的引用基于注解的引用概述将应用系统的配置信息存放在配置文件中并非总是最合适的,如果应用以集群的方式部署,或者希望在运行期动态调整引用的某些配置,这时,将配置信息放到数据库中不但方便集中管理,而且可以通过应用系统的管理界面动态维护,有效增强应用系统的可维护性。 早期版本,如果想在配置文件中引用另外一个Bean的属性值是比较麻烦的,Spring3.0则提供了优雅的解决方案.原创 2017-08-07 13:30:41 · 16195 阅读 · 0 评论 -
Spring-注入参数详解-[集合类型属性]
概述常用集合Set实例List实例Map实例Properties实例强类型集合实例集合合并实例通过util命名空间配置集合类型的Bean概述java.util包中的集合类型是最常用的结构数据类型,主要包括List、Set、Map、Properties。 Spring为这些集合类型属性提供了专属的配置标签常用集合Set实例POJO类package com.xgj.ioc.inj原创 2017-07-20 13:43:15 · 15359 阅读 · 0 评论 -
Spring-基于Spring使用自定义注解及Aspect实现数据库切换
实现思路实例步骤一 新建Maven工程步骤二 继承AbstractRoutingDataSource并重写determineCurrentLookupKey方法获取特定数据源步骤三 创建DynamicDataSourceHolder用于持有当前线程中使用的数据源标识步骤四 配置多个数据源和DynamicDataSource的bean步骤五 定义名为DataSource的注解步骤六原创 2017-07-28 01:53:51 · 17094 阅读 · 1 评论 -
Spring-基于注解的配置[02自动装载bean]
使用Autowired进行自动注入实例使用Auotwired的required属性实例使用Qualifier指定注入Bean的名称实例对类方法进行标注实例小结对集合类进行标注实例对延迟依赖注入的支持实例对标准注解的支持实例小结使用@Autowired进行自动注入Spring通过@Autowired注解实现Bean的依赖注入。 @Autowired默认按照类型(byTyp原创 2017-07-23 13:34:00 · 14881 阅读 · 0 评论 -
Java-Java5.0注解解读
概述元注解Meta-annotationTargetRetentionDocumentedInherited自定义注解定义注解格式注解参数的可支持数据类型实例编写注解类使用注解访问注解概述Java5.0注解可以看做Javadoc和Xdoclet标签的延伸和发展,在Java5.0中可以自定义这些标签,并通过Java语言的反射机制获取类中标注的注解,完成特定的功能。 注解是代码的原创 2017-08-22 11:27:51 · 16603 阅读 · 0 评论 -
Spring-IoC容器
导读为了更好地理解Spring的IoC容器,在这里我们通过具体的日常工作中分配工作的示例来模拟IOC的概念。 同时,Spring实现依赖注入的Java底层技术是 Java反射,因此我们也会对Java反射进行介绍。 本篇文章主要内容:Ioc概念所包含的设计思想Java反射BeanFactory、ApplicationContext、WebApplicationContext基础接口Bean的生原创 2017-07-01 12:49:30 · 14240 阅读 · 0 评论 -
Spring-BeanFactory解读
BeanFactory和ApplicationContextSpring通过一个配置文件描述Bean和Bean之间的依赖关系,利用Java反射功能实例化Bean,并建立Bean之间的依赖关系。 Spring的IOC容器在完成这些底层工作的基础上,还提供了Bean实例缓存、生命周期管理、Bean实例代理、时间发布、资源装载等高级服务。 BeanFactory是Spring框架最核心的接口,它提供了高级原创 2017-07-10 11:50:55 · 14569 阅读 · 0 评论 -
Spring4.X系列之IOC
专栏导读专栏欢迎关注 专栏 :Spring-IOC手札导读Spring-Spring4.X 概述Spring-Spring 开发环境搭建及HelloSpringSpring-Spring MVC + Spring JDBC + Spring Transaction + Maven 构建web简易登录模块Spring-IoC容器Spring-利用Spring提供的Resource/ResourceL原创 2017-09-21 23:53:22 · 15514 阅读 · 0 评论 -
Spring-常见问题25问
什么是Spring框架Spring框架有哪些主要模块使用Spring框架能带来哪些好处什么是控制反转IOC什么是依赖注入请解释下Spring框架中的IoCBeanFactory和ApplicationContext有什么区别Spring有几种配置方式如何用基于XML配置的方式配置Spring如何用基于Java配置的方式配置Spring怎样用注解的方式配置Spring请解释Sprin原创 2017-11-13 09:09:48 · 15674 阅读 · 0 评论 -
Sping-Spring表达式语言SpEL
概述SpEL:字面量SpEL:引用 Bean、属性和方法引用其他对象引用其他对象的属性调用其他方法,还可以链式操作调用静态方法或静态属性SpEL支持的运算符号算数运算符:+, -, *, /, %, ^加号还可以用作字符串连接比较运算符: <, >, ==, <=, >=, lt, gt, eq, le, ge逻辑运算符号: and, or, ...原创 2018-04-08 09:22:15 · 17008 阅读 · 0 评论 -
Spring-国际化信息01-基础知识
导读概述基础知识概述javautilLocale本地化工具类NumberFormat DateFormatMessageFormatResourceBoundle实例中文本地化资源文件两种转换方式JDK的native2ascii工具IDE自带的支持ResourceBundle加载资源的顺序在资源文件中使用格式化串导读Spring-国际化信息01-基础知识Spring-国原创 2017-08-09 01:30:02 · 15945 阅读 · 0 评论 -
Spring-国际化信息02-MessageSource接口
概述MessageSource接口方法MessageSource类结构ResourceBundleMessageSource实例ReloadableResourceBundleMessageSource实例概述spring定义了访问国际化信息的MessageSource接口,并提供了几个易用的实现类.MessageSource接口方法我们先看下源码,先来了解一下该接口的几个重要方法St原创 2017-08-11 04:05:26 · 20025 阅读 · 0 评论 -
Spring-国际化信息03-容器级的国际化信息资源
概述实例注意事项概述我们查看ApplicationContext中的源码可以看到public interface ApplicationContext extends EnvironmentCapable, ListableBeanFactory, HierarchicalBeanFactory, MessageSource, ApplicationEventPublisher,原创 2017-08-12 13:07:33 · 14970 阅读 · 0 评论 -
Spring-依赖注入
概述属性注入属性注入实例代码演示JavaBean关于属性命名的特殊规范构造函数注入按类型匹配入参按索引匹配入参联合使用类型和索引匹配入参通过自身反射类型匹配入参循环依赖问题工厂方法注入选择注入方式的考量概述Spring支持两种依赖注入的方式属性注入构造函数注入此外Spring还支持工厂方法注入。 这篇博文我们将了解到不同注入方式的具体配置方法。属性注入属性注入指的是通过原创 2017-07-16 13:21:36 · 14802 阅读 · 1 评论 -
Spring-注入参数详解-[字面值及引用其他Bean]
概述字面值XML中的特殊符号的处理5个特殊符号特殊符号的处理方式关于注入值空格的处理引用其他Bean实例ref元素的3个属性引用父容器中的Bean实例内部Beannull值级联属性概述在Spring配置文件中,不但可以将String、int等字面值注入bean中,还可以将集合、map等类型的数据注入Bean中, 此外还可以注入配置文件中其他定义的Bean.字面值所谓字面值一般原创 2017-07-17 09:30:39 · 15181 阅读 · 0 评论 -
Spring-ApplicationContext解读
BeanFactory和ApplicationContextSpring通过一个配置文件描述Bean和Bean之间的依赖关系,利用Java反射功能实例化Bean,并建立Bean之间的依赖关系。 Spring的IOC容器在完成这些底层工作的基础上,还提供了Bean实例缓存、生命周期管理、Bean实例代理、时间发布、资源装载等高级服务。 BeanFactory是Spring框架最核心的接口,它提供了高级原创 2017-07-10 23:16:07 · 29800 阅读 · 5 评论 -
Spring-Spring配置概述
Spring容器高层视图成功启动Spring容器的三个必要条件Bean配置信息基于XML的配置Schema的配置格式Bean的基本配置装载一个BeanBean的命名Spring容器高层视图成功启动Spring容器的三个必要条件:Spring框架的类包均已放在应用程序的类路径下应用程序为Spring提供了完整的Bean配置信息Bean的类都已经放到应用程序的类路径下Spring启原创 2017-07-16 05:01:17 · 14243 阅读 · 0 评论 -
Spring-Spring 开发环境搭建及HelloSpring
Jar包准备安装 Java 开发工具包(JDK)省略….下载 Apache Commons Logging API从 http://commons.apache.org/logging/ 下载 Apache Commons Logging API 的最新版本, 获取jar包 下载 Spring 框架库从 http://repo.spring.io/release/org/springframewor原创 2017-06-22 14:21:01 · 14829 阅读 · 1 评论 -
Spring-Spring MVC + Spring JDBC + Spring Transaction + Maven 构建web登录模块
概述本模块主要涉及以下部分:Maven构建web项目的过程登录流程介绍基于Spring JDBC的持久层实现基于Spring 声明式事务的业务层实现基于Spring MVC的展现层实现运行Web应用功能简介用户访问login.jsp,返回带有用户名和密码输入框的登录页面用户输入用户名和密码,提交表单到服务器,Spring根据配置文件调用LoginController控制器响应请求原创 2017-06-29 01:29:22 · 15915 阅读 · 0 评论 -
Log4j2-Log4j 2介绍及使用
Log4j 2 官网https://logging.apache.org/log4j/2.x/Log4j 2简介Log4j的1.x版本已经被广泛使用于很多应用程序中。然而,它这些年的发展已经放缓。它变得越来越难以维护,因为它需要严格遵循很老的Java版本,并在2015年8月寿终正寝。它的替代品,SLF4J和Logback对框架做了很多必要的改进。那么为什么还要费心去做Log4j 2呢?几个原因如下:原创 2017-07-15 11:08:39 · 39464 阅读 · 6 评论 -
Spring-WebApplicationContext解读
概述Web应用环境下Bean的作用域WebApplicationContext类体系结构ConfigurableWebApplicationWebApplicationContext初始化使用ContextLoaderLisetener启动WebApplicationContextWebApplicationContext中的日志文件的两种配置方式如何在项目中使用Log4j 2使用J原创 2017-07-11 14:24:14 · 16023 阅读 · 0 评论 -
Spring-属性文件自身的引用03
Spring既允许在Bean定义中通过`${propName}`引用属性值,也允许在属性文件中使用`${propName}`实现属性之间的相互引用。原创 2017-08-07 13:00:32 · 15331 阅读 · 0 评论 -
Spring-基于注解的配置[01定义Bean+扫描Bean]
概述使用注解定义Bean扫描注解定义的Bean使用步骤扫描特定的类 resource-pattern实例include-filter exclude-filter过滤子元素的使用支持多种类型的过滤表达式实例use-default-filters属性实例概述前几篇博文中主要讲述了基于XML的配置。不管是XML还是注解,他们都是在表达Bean定义的载体,其实质都是为Spring容原创 2017-07-22 12:29:21 · 15130 阅读 · 0 评论 -
Spring-不同配置方式的比较
概述Bean不同配置方式比较Bean不同配置方式的使用场景概述对于Spring来讲,为实现Bean的信息定义,提供了基于XML、基于注解、基于JAVA类、基于Groovy这4中选项,同事还允许各种配置方式复合共存。Bean不同配置方式比较 类别 基于XML配置 基于注解配置 基于Java类配置 基于Groovy DSL配置 Bean定义 在XML文件中通过<bean>元原创 2017-08-06 09:35:28 · 15099 阅读 · 0 评论 -
Spring-在IoC中装配Bean系列文章导读
概述主要内容博文详情概述在使用Spring各种丰富的功能之前,必须在SpringIoC容器中装配好Bean,并建立Bean之间的关联关系。 Spring提供了多种配置方式,简化之前冗长的配置。 既可以选择一种配置,也可以同时使用多种配置。 主要内容如何使用基于Schema格式的配置依赖注入的类型和配置方式各种注入参数详解Bean的作用域FactoryBean的作用基于注解的配置基于原创 2017-07-16 04:25:14 · 14507 阅读 · 0 评论 -
Java-利用Spring提供的Resource/ResourceLoader接口操作资源文件
背景JDK提供的访问资源的类(如java.net.URL、File等)并不能很好地满足各种底层资源的访问需求,比如缺少从类路径或者Web容器上下文中获取资源的操作类。Spring提供了Resource接口,为应用提供了更强的底层资源访问能力,该接口拥有对应不同资源类型的实现类。 资源访问接口主要方法boolean exists() 资源是否存在boolean isOpen() 资源是否打开UR原创 2017-07-08 05:50:38 · 20517 阅读 · 0 评论 -
Spring-整合多个配置文件
概述小结概述对于一个大型应用来讲,可能存在多个配置文件,在启动Spring容器的时候,可以通过一个String数组指定这些配置文件。 Spring还允许通过<import>将多个配置文件引入到一个文件中,进行配置文件的集成,这样在启动Spring容器的时候,仅需要指定这个合并好的配置文件即可。 比如<import resource="classpath:com/xgj/ioc/lookup/bea原创 2017-08-06 02:17:22 · 18009 阅读 · 0 评论 -
Spring-Bean的作用域
概述singleton作用域lazy-initprototype作用域与Web应用环境相关的Bean的作用域作用域依赖维内托概述在配置文件中定义Bean时,用户不但可以配置Bean的属性值以及相互之间的依赖关系,还可以定义Bean的作用域。 作用域对Bean的生命周期和创建方式产生影响。 我们来看下Spring4.0支持的所有作用域类型 类型 说明 singleton 在Sp原创 2017-08-05 01:54:11 · 14894 阅读 · 0 评论 -
Spring-注入参数详解-[简化配置方式]
概述字面属性值的简化配置方式引用对象属性的简化配置方式使用P命名空间概述字面属性值的简化配置方式引用对象属性的简化配置方式使用P命名空间原创 2017-07-21 00:11:59 · 15069 阅读 · 0 评论 -
Spring-Spring Web项目中配置使用Log4j 2
Log4j 2概述请查看另外一篇博文Log4j2-Log4j 2介绍及使用为什么要使用Log4j 2Web容器中的监听 Log4jConfigListener在 Spring 4.2.1及以后被废弃。Spring中配置Log4j 2添加Maven依赖<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId原创 2017-07-15 12:19:50 · 18042 阅读 · 0 评论 -
Spring-bean之间的关系
概述继承实例依赖实例引用实例总结概述不但可以通过<ref>引用另外一个bean,建立起Bean和Bean之间的依赖关系, bean元素标签之间也可以建立类似的关系,完成一些特殊的功能。在Spring容器中,两个Bean之间 除了注入关系外,还存在 继承、依赖、引用 三种关系:继承关系:在Spring容器当中允许使用abstract标签来定义一个父bean,parent标签来定义一个子原创 2017-08-02 08:31:26 · 15356 阅读 · 0 评论