Spring基础知识
收藏

介绍Spring的bean配置、初始化等基础知识,初期文章主要基于Spring4进行介绍。

分享到: Sina Tec

最近更新文章

Spring(25)——ClassPathBeanDefinitionScanner

ClassPathBeanDefinitionScanner继承自ClassPathScanningCandidateComponentProvider,构造时要求指定一个BeanDefinitionRegistry对象,其扩展了一个scan方法,可以同时指定多个要扫描的包。底层在扫描bean定义时还是使用的父类的findCandidateComponents方法,但是扫描后会自动利用持有的Bea ...
234390216 评论(1) 有8129人浏览 2017-09-30 08:55

Spring(24)——自定义BeanDefinitionRegistryPostProcessor

24 自定义BeanDefinitionRegistryPostProcessor BeanDefinitionRegistryPostProcessor继承自BeanFactoryPostProcessor,是一种比较特殊的BeanFactoryPostProcessor。BeanDefinitionRegistryPostProcessor中定义的postProcessBeanDefinit ...
234390216 评论(0) 有10386人浏览 2017-09-21 20:12

Spring(23)——SPEL表达式(四)

23.2.24 设置默认值 SpEl表达式中支持“a?:b”这样的语法来设置默认值。其表示如果a不为null时其结果为a,否则就为b。 @Test public void test24 () { ExpressionParser parser = new SpelExpressionParser(); Assert.assertTrue(parser.parseExpressio ...
234390216 评论(0) 有7476人浏览 2017-09-18 17:25

Spring(23)——SPEL表达式(三)

23.2.16 new对象 SpEl支持我们直接在表达式中使用Java中new对象的语法来new一个对象,在new对象的时候需要我们指定对应类的包名,java.lang包除外。如下示例中我们就在表达式中new了一个java.util.Date对象,然后调用了其toLocaleString()方法。 @Test public void test16() { Expression ...
234390216 评论(0) 有7989人浏览 2017-09-18 17:12

Spring(23)——SPEL表达式(二)

23.2.9 构造List 在SpEl中可以使用“{e1,e2,e3}”的形式来构造一个List,如下示例中我们就构造了一个List。 @Test public void test09() { ExpressionParser parser = new SpelExpressionParser(); List<Integer> intList = (List<I ...
234390216 评论(1) 有8483人浏览 2017-09-15 08:33

Spring(23)——SPEL表达式(一)

23 SpEl 23.1 简介 Spring也有自己的EL,叫Spring Expression Language,简称SpEl。其可以在程序中单独使用,也可以在Spring应用中进行bean定义时使用。其核心是org.springframework.expression.Expression接口,Spring使用该接口来表示EL中的表达式。通过Expression接口的系列getValue ...
234390216 评论(2) 有12117人浏览 2017-09-14 08:44

Spring(22)——ApplicationEvent

22 ApplicationEvent Spring允许我们在ApplicationContext中发布ApplicationEvent事件,然后对应的ApplicationListener可以用来监听对应的事件。当发布了一个ApplicationEvent后,在对应bean容器中实现了ApplicationListener接口的bean实例都会接收到对应的通知,即对应的ApplicationL ...
234390216 评论(0) 有7833人浏览 2017-09-11 09:58

Spring(21)——国际化MessageSource

21 国际化MessageSource Spring中定义了一个MessageSource接口,以用于支持信息的国际化和包含参数的信息的替换。MessageSource接口的定义如下,对应的方法说明已经在方法上注释了。 public interface MessageSource { /** * 解析code对应的信息进行返回,如果对应的code不能被解析则返回默认信息def ...
234390216 评论(1) 有19492人浏览 2017-09-08 10:06

Spring(20)——@PropertySource

20 @PropertySource 在之前介绍<context:property-placeholder/>时提到过其默认会使用PropertySourcesPlaceholderConfigurer来进行对应的属性替换,其底层有使用PropertySource。@PropertySource是用来注册一个PropertySource的。PropertySource是用来表示一个n ...
234390216 评论(0) 有9430人浏览 2017-09-04 19:15

Spring(19)——Profile(二)

19.2 指定启用的profile 前面已经介绍了profile的指定,我们知道指定了profile后则表示对应的内容只有在特定的profile下才会生效。当前应用究竟使用的是哪个profile,或者是哪些profile,这是需要我们来指定的。说的专业一点就叫激活,即只有处于激活状态的profile对应的定义才会生效,当然也包括那些没有指定profile的定义。 在Spring中激活哪个pro ...
234390216 评论(0) 有8833人浏览 2017-08-21 17:35

Spring(19)——Profile(一)

19 Profile 有的时候我们可能需要在不同的环境下使用不同的bean定义,如在开发环境直接使用直接定义的数据源,而在生产环境使用对应的JNDI数据源等。针对这种需求,Spring给我们引入了一个profile的概念,其允许我们将在特定环境下需要使用的bean定义为不同的profile,然后只有在对应的profile激活的情况下才使用对应的bean定义。打个比方我们有一个beanA需要在开发 ...
234390216 评论(0) 有8626人浏览 2017-08-21 16:59

Spring(18)——使用Java类的形式定义bean(三)

18.4 组合多个配置 通常在使用基于Java类的配置时我们可能不是单独使用一个Java类进行配置,有的时候可能会建立多个Java类进行配置,也可能是基于Java类的配置和基于XML的配置一起使用,这就需要我们将多个配置整合在一起了。 18.4.1 多个Java类配置组合 对于多个Java配置类的情况,我们可以通过将@Import标注在对应的配置类上以引入另外一个配置类,这样我们在使用的时 ...
234390216 评论(0) 有7590人浏览 2017-08-14 15:59

Spring(18)——使用Java类的形式定义bean(二)

18.2 @Configuration @Configuration是标注在Class上的,当我们需要基于Java类的形式对Spring进行配置时,我们就需要在对应的配置类上使用@Configuration进行标注,这样Spring才会把对应的Class当做是一个配置用的Class。使用@Configuration进行标注的配置类默认也会被Spring作为一个bean进行注册。所以当我们的拥有多 ...
234390216 评论(0) 有7796人浏览 2017-08-14 15:54

Spring(18)——使用Java类的形式配置bean

18 使用Java类的形式配置bean定义 除了传统的使用XML来配置底层的bean容器定义,Spring还支持使用大家熟悉的Java类的形式来进行配置。使用Java类的形式来 ...
234390216 评论(0) 有8675人浏览 2017-08-14 15:15

Spring(17)——对JSR330标准的支持

17 对JSR330标准注解的支持 除了使用Spring标准的注解来定义bean、定义bean之间的依赖关系外,Spring还支持使用JSR330标准的注解来进行相关的定义,主要是对@Inject和@Named两个注解的支持。 要使用JSR330标准的注解进行对应的bean定义,我们首先需要将JSR330标准对应的jar包加入我们的classpath。笔者习惯使用Maven来管理相应的依赖,所 ...
234390216 评论(1) 有7140人浏览 2017-08-10 09:12

Spring(16)——使用注解进行bean定义(二)

16.5 过滤器 默认情况下,Spring将扫描所有@Component、@Controller、@Service和@Repository标注的类,以及这几个注解所派生出来的注解所标注的类,如之前介绍的自定义的@MyComponent注解,并将它们作为一个bean定义在对应的bean容器中。Spring提供了两个filter定义可以让我们对需要扫描的类进行进一步的过滤,一个是<contex ...
234390216 评论(0) 有7073人浏览 2017-08-08 10:31

Spring(16)——使用注解进行bean定义

16 使用注解进行bean定义 除了在Spring配置文件中通过bean元素定义一个bean外。我们还可以通过在Class上使用特定的注解进行标注,然后让Spring去扫描这些特定的注解,并把它们当做一个bean进行定义。 16.1 @Component @Component是Spring中用来定义bean最基本的注解,通过在Class类上标注对应的注解就可以让Spring扫描到对应的定义 ...
234390216 评论(0) 有8165人浏览 2017-08-08 10:29

Spring(15)——基于注解的配置(二)

15.4 @Qualifier 15.4.1 简介 @Qualifier通常是配合@Autowired的一起使用的。我们知道使用@Autowired进行注入时默认是按照类型进行注入的。打个比方当我们使用@Autowired的定义beanA需要自动注入一个类型为BeanB的bean时,如果在bean容器中存在多个类型为BeanB的bean,那么Spring就会抛出异常。这个时候我们就可以使用@ ...
234390216 评论(0) 有9023人浏览 2017-08-07 17:43

Spring(15)——基于注解的配置

15 基于注解的配置 除了单独使用XML对Spring进行配置外,我们还可以使用注解的方式来配置对应的bean定义。如哪些class要被定义为bean,对应的bean需要注入哪些内容等。在Spring的配置中XML定义与注解定义是可以同时存在的。 15.1 启用对注解的支持 如果需要使用注解来配置bean定义,首先我们需要启用Spring对注解的支持。最简单的方式就是在Spring的配置文 ...
234390216 评论(0) 有7737人浏览 2017-08-07 17:33

Spring(14)——PropertyOverrideConfigurer

14 PropertyOverrideConfigurer 14.1 简介 打个比方我们在bean容器中定义了一个beanA,其中有一个属性propB,对应值为valueB,但是我又希望在不更改bean定义的情况下希望Spring在实例化beanA时将对应的属性propB的值改为valueC,那么这个时候我们就可以使用PropertyOverrideConfigurer来实现这个效果了。Pr ...
234390216 评论(0) 有7706人浏览 2017-08-01 08:30
  • 专栏创建者:234390216
  • 创建时间:2017-06-28 08:40:30
  • 专栏文章数:75篇
  • 专栏被浏览:462536 次

本专栏热门文章

最新评论

skran 写道大兄弟文章写的不错,排版有点问题,代码长了既没换行也没滚动条现在都是Markdown写 ...
234390216 评论了 Spring Boot(05)——SpringApplication ...
大兄弟文章写的不错,排版有点问题,代码长了既没换行也没滚动条
skran 评论了 Spring Boot(05)——SpringApplication ...
thaIm 写道不知道RestTemplate 默认的链接数、超时时间是多少?基于JDK的应该是无限制 ...
234390216 评论了 Spring(30)——RestTemplate介绍
不知道RestTemplate 默认的链接数、超时时间是多少?
thaIm 评论了 Spring(30)——RestTemplate介绍
iteye这个博客主体内容定义的宽度只有700,导致部分代码没有展示出来。iteye现在都没有人维护了 ...
234390216 评论了 Spring(25)——ClassPathBeanDefinitionS ...
样式,布局支持的不是很好
234390216 评论了 Spring(23)——SPEL表达式(二)
234390216 写道snfdf 写道@PostConstruct和@PreDestroy没有执行, ...
snfdf 评论了 Spring(09)——bean生命周期回调方法
Caelebs 写道 好久以前学过的, 居然全忘了不怎么用的东西是忘的快。好多我写过,以前用过的东西, ...
234390216 评论了 Spring(23)——SPEL表达式(一)
好久以前学过的, 居然全忘了
Caelebs 评论了 Spring(23)——SPEL表达式(一)
...
Caelebs 评论了 Spring(21)——国际化MessageSource
Global site tag (gtag.js) - Google Analytics