wiselyman
- 浏览: 2076970 次
- 性别:
- 来自: 合肥
社区版块
- ( 11)
- ( 19)
- ( 0)
最新评论
-
lhs472194266:
我在搜索是,面临一个问题,是用maven 将第三方jar包的s ...
如何在intellij idea中检索maven依赖jar包的源码 -
淡炒番茄:
博主,你这个认证服务器是个单应用,作微服务、我要用几个认证服务 ...
spring cloud下基于oauth2认证授权的实现 -
lianghuado:
spring4.0系列9-websocket简单应用 -
yangjianzhouctgu:
汪老师,你好,我想就spring boot测试方面的问题请教一 ...
spring boot使用自定义的properties -
dyj025:
wiselyman 写道dyj025 写道楼主源码访问不了.可 ...
spring cloud下基于oauth2认证授权的实现
文章列表
- 博客分类:
- 点睛spring4.1
19.1 groovy dsl
spring 4.x的一个新特性是使用groovy的语言来配置spring的bean;
这意味着我们构造一个spring的bean又多了一种方式,包括如下:
xml配置
java config(@bean)
@component,@service,@repository,@controller系列
groovy dsl
19.2 示例
19.2.1 演示类
package
- 2015-05-22 08:33
- 浏览 2059
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
18.1 meta annotation
元注解:顾名思义,就是注解的注解
当我们某几个注解要在多个地方重复使用的时候,写起来比较麻烦,定义一个元注解可以包含多个注解的含义,从而简化代码
下面我们用<<02点睛spring4.1-java config>>里的源码进行元注解的改造
18.2 示例
18.2.1 spring注解分析
我们看看spring的@service的源码:可看出@service注解是由几个注解组合的包含@component;
- 2015-05-22 08:32
- 浏览 2116
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
17.1 @conditional
@conditional为按照条件配置spring的bean提供了支持,即满足某种条件下,怎么配置对应的bean;
应用场景
当某一个jar包在classpath中的时候,配置某几个bean;
当某一个bean配置好后,会自动配置一个特定的bean;
当某种环境变量被设置后,创建某个bean;
@conditional为敏捷开发所提倡的原则"习惯优于配置"提供了支持;
@conditional是spring boot快速开发框架实现"习惯优于配置"的核心技术;
17.2 示例
演示在w ...
- 2015-05-21 08:23
- 浏览 4753
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
16.1 taskscheduler
提供对计划任务提供支持;
使用@enablescheduling开启计划任务支持
使用@scheduled来注解计划任务的方法;
16.2 示例
演示后台间断执行任务和定时计划任务
16.2.1 计划任务的配置
@configurat
- 2015-05-21 08:18
- 浏览 2499
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
15.1 taskexecutor
spring的taskexecutor为在spring环境下进行并发的多线程编程提供了支持;
使用threadpooltaskexecutor可实现一个基于线程池的taskexecutor;
使用@enableasync开启异步任务支持;
使用@async注解方法是异步方法;
15.2 示例
15.2.1 声明taskexecutor
package
- 2015-05-20 08:30
- 浏览 9418
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
14.1 scripting脚本编程
脚本语言和java这类静态的语言的主要区别是:脚本语言无需编译,源码直接可运行;
如果我们经常需要修改的某些代码,每一次我们至少要进行编译,打包,重新部署的操作,步骤相当麻烦;
如果我们的应用不允许重启,这在现实的情况中也是很常见的;
在spring中使用脚本编程给上述的应用场景提供了欧洲杯足彩官网的解决方案,即动态加载bean;
spring支持脚本语言包含jruby,groovy,beanshell;
本例以spring主推的groovy语言作为示例;
动态加载bean目前暂不支持java config(应该在spring4.2版本支持,参见:add ...
- 2015-05-20 08:28
- 浏览 2667
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
13.1 spring el
spring el-spring表达式语言,支持在xml和注解中使用表达式,类似jsp的el表达式语言;
本教程关注于在注解中使用spring el;
spring el包含很多类型的表达式,本教程关注常用的注入
获得系统属性
注入表达式
注入文件
注入其他bean或者其属性
注入properties文件属性
注入普通字符
13.2 示例
13.2.1 编写spring el演示类
- 2015-05-19 08:26
- 浏览 3106
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
12.1 aware
我们设计的准则是解耦,这就意味着我们不能对spring的ioc容器有直接的依赖,但是我们还是想我们的bean能识别容器的资源;
使用aware能让我们在应用的任意位置获得spring容器的资源;
我们通过实现aware接口来识别spring容器的资源;
spring包含的aware有:
beannameaware
beanfactoryaware
applicationcontextaware
messagesourceaware
applicationeventpublisheraware
resourceloaderaware
实现a ...
- 2015-05-19 08:25
- 浏览 3776
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
11.1 propert editor
property editor是javabeans api的一项特性,用来字符和属性值之间的互相转换(如2014-03-02和date类型的互相转换)
spring内置了customdateeditor, customnumbereditor, classeditor, fileeditor, localeeditor, stringarraypropertyeditor
除了内置的property editor,如需自己定制额外的复杂情况继承javabeans api的propertyeditorsupport类
11.2 示例
...
- 2015-05-18 08:24
- 浏览 2812
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
10.1 application event
spring使用application event给bean之间的消息通讯提供了手段
应按照如下部分实现bean之间的消息通讯
继承applicationevent类实现自己的事件
实现继承applicationlistener接口实现监听事件
使用applicationcontext发布消息
...
- 2015-05-18 08:23
- 浏览 4077
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
9.1 aop
aop可以了让一组类共享相同的行为.在oop中只能通过继承类和实现接口,这样使代码的耦合度增强,且类继承只能为单继承,阻碍更多行为添加到一组类上;
下面演示一个日志系统的实现,简单但不失表达aop的核心内容
演示通过注解拦截和通过方法规则拦截;
一些小术语
joinpoint:你需要拦截的代码位置(代码里已标识)
pointcut:符合某个条件后需要执行的代码位置(代码里已标识)
9.2 示例
采取2种截获方式:拦截注解和拦截方法
- 2015-05-15 08:33
- 浏览 5810
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
8.1 profile
profile让在不同环境下使用不同的配置提供了支持(如开发环境下的配置和生产环境下的配置肯定是不同的,如:数据库的配置);
通过设定environment的activeprofiles来设定当前context需要使用的配置环境
通过设定jvm的spring.profiles.active参数来设置配置环境(web项目中设置在servlet的context parameter中)
8.2 示例
8.2.1 新建测试bean
- 2015-05-15 08:32
- 浏览 3275
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
7.1 beanpostprocessor
spring通过beanpostprocessor接口可以对所有bean或者指定的某些bean的初始化前后对bean的检查或者修改提供支持;
使用postprocessbeforeinitialization和postprocessafterinitialization对bean进行操作;
postprocessbeforeinitialization和postprocessafterinitialization返回值是bean;
7.2 示例
7.2.1 处理全部bean
- 2015-05-14 08:36
- 浏览 2721
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
6.1 initialization和destruction
spring对bean初始化的时候和销毁时候进行某些操作提供了支持
利用@bean的initmethod和destroymethod(和xml配置的init-method和destory-method相同)
利用jsr-250的@postconstruct和@predestroy
6.2 示例
6.2.1 @bean形式的initialization和destruction
- 2015-05-14 08:33
- 浏览 6394
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
5.1 reloadableresourcebundlemessagesource
使用reloadableresourcebundlemessagesource可获得不同语言的配置
此处是全局配置,适合用@bean声明
5.2 示例
5.2.1 新建英文messagesmessages_en_us.properties
wisely.name = wyf
wisely
- 2015-05-13 08:39
- 浏览 3330
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
4.1 resource
spring用来调用外部资源数据的方式
支持调用文件或者是网址
在系统中调用properties文件可参考<<02点睛spring4.1-java config>>中结合@propertysource和environment来使用
也可以使用@value来注入资源,@value的使用将在<<13点睛spring4.1-spring el>>章节中有更详细的使用
4.2 示例
4.2.1 新增commons-io到maven依赖
- 2015-05-13 08:38
- 浏览 2331
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
3.1 scope
scope描述spring容器是怎么样新建类的实例的(bean);
在spring中默认的scope是singleton,这意味着无论你在程序中多少地方使用这个bean,它们都共享唯一个实例;
spring内置的scope有如下几个:
singleton:一个spring容器中只有一个bean的实例;
prototype:每次调用新建一个bean的实例;
request:web项目中,每一个http request,新建一个bean实例;
session:web项目中,每一个http session,新建一个bean实例;
globalsession: ...
- 2015-05-12 08:49
- 浏览 3811
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
2.1 java config
spring的java config主要使用@configuration和@bean两个注解;
使用@configuration注解在类上声明是一个配置类(相当于一个spring的配置xml);
使用@bean注解在方法上,返回值是一个类的实例,并声明这个返回值是spring的一个bean,bean� ...
- 2015-05-12 08:47
- 浏览 5336
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
1.1 声明bean
使用上例建立的testmavenspring项目,将pom.xml文件中的 3.2.3.release 修改为4.1.5.release, 然后项目->右键->maven->update project;
spring利用@configuration,@component,@service,@repository,@controller注解在一个java类上声明是spring容器的bean;
使用@configurat ...
- 2015-05-11 17:16
- 浏览 3847
- 分类:企业架构
- 博客分类:
- 点睛spring4.1
0.1 前置条件
spring 4.1提倡基于java config和注解的配置,所以本教程通篇不会采用任何和xml配置相关的内容;
本教程默认读者有一定的java web及spring使用基础;
本教程采用点睛的形式展现spring各个知识点,不会深入到各个知识点的方方面面,目的是为了初学者快速掌握spring的各方面知识;
spring的官方开发的示例都使用maven和gradle作为构建工具,本教程采用maven作为构建工具;
使用spring tool suite(sts基于eclipse,内置对spring及maven的支持)作为ide(当然你可以使用原版eclipse ...
- 2015-05-11 17:15
- 浏览 6608
- 分类:企业架构