-
点睛Spring4.1
收藏快速点睛式学习Spring 4.1各个知识
最近更新文章
19点睛Spring4.1-GroovyDSL
19.1 Groovy DSL
Spring 4.x的一个新特性是使用Groovy的语言来配置Spring的bean;
这意味着我们构造一个spring的bean又多了一种方式,包括如下:
xml配置
java config(@Bean)
@Component,@Service,@Repository,@Controller系列
Groovy DSL
19.2 示例
...
18点睛Spring4.1-Meta Annotation
18.1 Meta Annotation
元注解:顾名思义,就是注解的注解
当我们某几个注解要在多个地方重复使用的时候,写起来比较麻烦,定义一个元注解可以包含多个注解的含义,从而简化代码
下面我们用<<02点睛Spring4.1-Java Config>>里的源码进行元注解的改造
18.2 示例
18.2.1 spring注解分析
我们看看spring ...
17点睛Spring4.1-@Conditional
17.1 @Conditional
@Conditional为按照条件配置spring的bean提供了支持,即满足某种条件下,怎么配置对应的bean;
应用场景
当某一个jar包在classpath中的时候,配置某几个bean;
当某一个bean配置好后,会自动配置一个特定的bean;
当某种环境变量被设置后,创建某个bean;
@Conditional为敏捷开发所提倡的原 ...
16点睛Spring4.1-TaskScheduler
16.1 TaskScheduler
提供对计划任务提供支持;
使用@EnableScheduling开启计划任务支持
使用@Scheduled来注解计划任务的方法;
16.2 示例
演示后台间断执行任务和定时计划任务
16.2.1 计划任务的配置
@Configurat
15点睛Spring4.1-TaskExecutor
15.1 TaskExecutor
spring的TaskExecutor为在spring环境下进行并发的多线程编程提供了支持;
使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor;
使用@EnableAsync开启异步任务支持;
使用@Async注解方法是异步方法;
15.2 示例
15.2.1 声明taskExecutor
...
14点睛Spring4.1-脚本编程
14.1 Scripting脚本编程
脚本语言和java这类静态的语言的主要区别是:脚本语言无需编译,源码直接可运行;
如果我们经常需要修改的某些代码,每一次我们至少要进行编译,打包,重新部署的操作,步骤相当麻烦;
如果我们的应用不允许重启,这在现实的情况中也是很常见的;
在spring中使用脚本编程给上述的应用场景提供了解决方案,即动态加载bean;
spring支持脚本语言包含J ...
13点睛Spring4.1-Spring EL
13.1 Spring EL
Spring EL-Spring表达式语言,支持在xml和注解中使用表达式,类似jsp的EL表达式语言;
本教程关注于在注解中使用Spring EL;
Spring EL包含很多类型的表达式,本教程关注常用的注入
获得系统属性
注入表达式
注入文件
注入其他bean或者其属性
注入properties文件属性
注入普通字符
13.2 ...
12点睛Spring4.1-Spring Aware
12.1 Aware
我们设计的准则是解耦,这就意味着我们不能对Spring的IoC容器有直接的依赖,但是我们还是想我们的bean能识别容器的资源;
使用aware能让我们在应用的任意位置获得spring容器的资源;
我们通过实现aware接口来识别spring容器的资源;
Spring包含的aware有:
BeanNameAware
BeanFactoryAware
Appl ...
11点睛Spring4.1-Property Editor
11.1 Propert Editor
property editor是JavaBeans API的一项特性,用来字符和属性值之间的互相转换(如2014-03-02和Date类型的互相转换)
spring内置了CustomDateEditor, CustomNumberEditor, ClassEditor, FileEditor, LocaleEditor, StringArrayPro ...
10点睛Spring4.1-Application Event
10.1 Application Event
Spring使用Application Event给bean之间的消息通讯提供了手段
应按照如下部分实现bean之间的消息通讯
继承ApplicationEvent类实现自己的事 ...
09点睛Spring4.1-AOP
9.1 AOP
AOP可以了让一组类共享相同的行为.在OOP中只能通过继承类和实现接口,这样使代码的耦合度增强,且类继承只能为单继承,阻碍更多行为添加到一组类上;
下面演示一个日志系统的实现,简单但不失表达AOP的核心内容
演示通过注解拦截和通过方法规则拦截;
一些小术语
JoinPoint:你需要拦截的代码位置(代码里已标识)
Pointcut:符合某个条件后需要执行的 ...
08点睛Spring4.1-Profile
8.1 Profile
Profile让在不同环境下使用不同的配置提供了支持(如开发环境下的配置和生产环境下的配置肯定是不同的,如:数据库的配置);
通过设定Environment的ActiveProfiles来设定当前context需要使用的配置环境
通过设定jvm的spring.profiles.active参数来设置配置环境(web项目中设置在servlet的context pa ...
07点睛Spring4.1-BeanPostProcessor
7.1 BeanPostProcessor
spring通过BeanPostProcessor接口可以对所有bean或者指定的某些bean的初始化前后对bean的检查或者修改提供支持;
使用postProcessBeforeInitialization和postProcessAfterInitialization对bean进行操作;
postProcessBeforeInitializ ...
06点睛Spring4.1-Bean的初始化和销毁
6.1 Initialization和Destruction
spring对bean初始化的时候和销毁时候进行某些操作提供了支持
利用@Bean的initMethod和destroyMethod(和xml配置的init-method和destory-method相同)
利用JSR-250的@PostConstruct和@PreDestroy
6.2 示例
6.2.1 ...
05点睛Spring4.1-国际化
5.1 ReloadableResourceBundleMessageSource
使用ReloadableResourceBundleMessageSource可获得不同语言的配置
此处是全局配置,适合用@Bean声明
5.2 示例
5.2.1 新建英文messagesmessages_en_US.properties
wisely.name = wyf
wisely
04点睛Spring4.1-资源调用
4.1 Resource
spring用来调用外部资源数据的方式
支持调用文件或者是网址
在系统中调用properties文件可参考<<02点睛Spring4.1-Java Config>>中结合@PropertySource和Environment来使用
也可以使用@Value来注入资源,@Value的使用将在<<13点睛Spring4.1-Spr ...
03点睛Spring4.1-scope
3.1 scope
scope描述spring容器是怎么样新建类的实例的(bean);
在spring中默认的scope是singleton,这意味着无论你在程序中多少地方使用这个bean,它们都共享唯一个实例;
spring内置的scope有如下几个:
singleton:一个spring容器中只有一个bean的实例;
prototype:每次调用新建一个bean的实例;
re ...
02点睛Spring4.1-Java Config
2.1 java config
spring的java config主要使用@Configuration和@Bean两个注解;
使用@Configuration注解在类上声明是一个配置类(相当于一个spring的配置xml);
使用@Bean注 ...
01点睛Spring4.1-依赖注入
1.1 声明bean
使用上例建立的testMavenSpring项目,将pom.xml文件中的 <spring-framework.version>3.2.3.RELEASE</spring-framework.version>修改为4.1.5.RELEASE, 然后项目->右键->maven->update project;
spring利用@ ...
00点睛Spring4.1-环境搭建
0.1 前置条件
Spring 4.1提倡基于Java Config和注解的配置,所以本教程通篇不会采用任何和xml配置相关的内容;
本教程默认读者有一定的Java Web及Spring使用基础;
本教程采用点睛的形式展现Spring各个知识点,不会深入到各个知识点的方方面面,目的是为了初学者快速掌握Spring的各方面知识;
Spring的官方开发的示例都使用maven和gradle ...
- 专栏创建者:wiselyman
- 创建时间:2015-05-12 13:52:52
- 专栏文章数:20篇
- 专栏被浏览:82372 次
本专栏热门文章
最新评论
FondaWu 写道写的很好,赞一个 但也发现个小问题:7.2.2.3例子中public Object ...
wiselyman 评论了 07点睛Spring4.1-BeanPostProcessor
wiselyman 评论了 07点睛Spring4.1-BeanPostProcessor