17点睛Spring4.1-@Conditional】的更多相关文章

17.1 @Conditional @Conditional为按照条件配置spring的bean提供了支持,即满足某种条件下,怎么配置对应的bean; 应用场景 当某一个jar包在classpath中的时候,配置某几个bean; 当某一个bean配置好后,会自动配置一个特定的bean; 当某种环境变量被设置后,创建某个bean; @Conditional为敏捷开发所提倡的原则"习惯优于配置"提供了支持; @Conditional是Spring Boot快速开发框架实现"习惯优…
18.1 Meta Annotation 元注解:顾名思义,就是注解的注解 当我们某几个注解要在多个地方重复使用的时候,写起来比较麻烦,定义一个元注解可以包含多个注解的含义,从而简化代码 下面我们用<<02点睛Spring4.1-Java Config>>里的源码进行元注解的改造 18.2 示例 18.2.1 spring注解分析 我们看看spring的@Service的源码:可看出@Service注解是由几个注解组合的包含@Component; @Target({ElementT…
转发:https://www.iteye.com/blog/wiselyman-2210666 4.1 Resource spring用来调用外部资源数据的方式 支持调用文件或者是网址 在系统中调用properties文件可参考<<02点睛Spring4.1-Java Config>>中结合@PropertySource和Environment来使用 也可以使用@Value来注入资源,@Value的使用将在<<13点睛Spring4.1-Spring EL>>…
转发:https://www.iteye.com/blog/wiselyman-2212678 14.1 Scripting脚本编程 脚本语言和java这类静态的语言的主要区别是:脚本语言无需编译,源码直接可运行; 如果我们经常需要修改的某些代码,每一次我们至少要进行编译,打包,重新部署的操作,步骤相当麻烦; 如果我们的应用不允许重启,这在现实的情况中也是很常见的; 在spring中使用脚本编程给上述的应用场景提供了解决方案,即动态加载bean; spring支持脚本语言包含JRuby,Groo…
转载:https://www.iteye.com/blog/wiselyman-2210250 0.1 前置条件 Spring 4.1提倡基于Java Config和注解的配置,所以本教程通篇不会采用任何和xml配置相关的内容; 本教程默认读者有一定的Java Web及Spring使用基础; 本教程采用点睛的形式展现Spring各个知识点,不会深入到各个知识点的方方面面,目的是为了初学者快速掌握Spring的各方面知识; Spring的官方开发的示例都使用maven和gradle作为构建工具,本…
转发:https://www.iteye.com/blog/wiselyman-2213049 16.1 TaskScheduler 提供对计划任务提供支持; 使用@EnableScheduling开启计划任务支持 使用@Scheduled来注解计划任务的方法; 16.2 示例 演示后台间断执行任务和定时计划任务 16.2.1 计划任务的配置 @Configuration @EnableScheduling public class DemoConfig { } 16.2.2 计划配置任务类 p…
转发:https://www.iteye.com/blog/wiselyman-2212679 15.1 TaskExecutor spring的TaskExecutor为在spring环境下进行并发的多线程编程提供了支持; 使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor; 使用@EnableAsync开启异步任务支持; 使用@Async注解方法是异步方法; 15.2 示例 15.2.1 声明taskExecutor package com.wis…
13.1 Spring EL Spring EL-Spring表达式语言,支持在xml和注解中使用表达式,类似jsp的EL表达式语言; 本教程关注于在注解中使用Spring EL; Spring EL包含很多类型的表达式,本教程关注常用的注入 获得系统属性 注入表达式 注入文件 注入其他bean或者其属性 注入properties文件属性 注入普通字符 13.2 示例 13.2.1 编写Spring EL演示类 @Configuration @PropertySource("classpath:…
12.1 Aware 我们设计的准则是解耦,这就意味着我们不能对Spring的IoC容器有直接的依赖,但是我们还是想我们的bean能识别容器的资源; 使用aware能让我们在应用的任意位置获得spring容器的资源; 我们通过实现aware接口来识别spring容器的资源; Spring包含的aware有: BeanNameAware BeanFactoryAware ApplicationContextAware MessageSourceAware ApplicationEventPubli…
11.1 Propert Editor property editor是JavaBeans API的一项特性,用来字符和属性值之间的互相转换(如2014-03-02和Date类型的互相转换) spring内置了CustomDateEditor, CustomNumberEditor, ClassEditor, FileEditor, LocaleEditor, StringArrayPropertyEditor 除了内置的property editor,如需自己定制额外的复杂情况继承JavaBe…
10.1 Application Event Spring使用Application Event给bean之间的消息通讯提供了手段 应按照如下部分实现bean之间的消息通讯 继承ApplicationEvent类实现自己的事件 实现继承ApplicationListener接口实现监听事件 使用ApplicationContext发布消息 10.2示例 示例中的通讯两个bean分别为DemoListener和Main 10.2.1 编写自定义的Application Event package…
9.1 AOP AOP可以了让一组类共享相同的行为.在OOP中只能通过继承类和实现接口,这样使代码的耦合度增强,且类继承只能为单继承,阻碍更多行为添加到一组类上; 下面演示一个日志系统的实现,简单但不失表达AOP的核心内容 演示通过注解拦截和通过方法规则拦截; 一些小术语 JoinPoint:你需要拦截的代码位置(代码里已标识) Pointcut:符合某个条件后需要执行的代码位置(代码里已标识) 9.2 示例 采取2种截获方式:拦截注解和拦截方法 9.2.1 增加aspectj依赖到maven…
8.1 Profile Profile让在不同环境下使用不同的配置提供了支持(如开发环境下的配置和生产环境下的配置肯定是不同的,如:数据库的配置); 通过设定Environment的ActiveProfiles来设定当前context需要使用的配置环境 通过设定jvm的spring.profiles.active参数来设置配置环境(web项目中设置在servlet的context parameter中) 8.2 示例 8.2.1 新建测试bean package com.wisely.profi…
7.1 BeanPostProcessor spring通过BeanPostProcessor接口可以对所有bean或者指定的某些bean的初始化前后对bean的检查或者修改提供支持; 使用postProcessBeforeInitialization和postProcessAfterInitialization对bean进行操作; postProcessBeforeInitialization和postProcessAfterInitialization返回值是bean; 7.2 示例 7.2…
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 6.2.1.1 新建服务java类 package com.…
5.1 ReloadableResourceBundleMessageSource 使用ReloadableResourceBundleMessageSource可获得不同语言的配置 此处是全局配置,适合用@Bean声明 5.2 示例 5.2.1 新建英文messagesmessages_en_US.properties wisely.name = wyf wisely.age = 32 5.2.2 新建中文messagesmessages_zh_CN.properties wisely.nam…
转载:https://www.iteye.com/blog/wiselyman-2210377 3.1 scope scope描述spring容器是怎么样新建类的实例的(bean); 在spring中默认的scope是singleton,这意味着无论你在程序中多少地方使用这个bean,它们都共享唯一个实例; spring内置的scope有如下几个: singleton:一个spring容器中只有一个bean的实例; prototype:每次调用新建一个bean的实例; request:web项目…
转载:https://www.iteye.com/blog/wiselyman-2210376 2.1 java config spring的java config主要使用@Configuration和@Bean两个注解; 使用@Configuration注解在类上声明是一个配置类(相当于一个spring的配置xml); 使用@Bean注解在方法上,返回值是一个类的实例,并声明这个返回值是spring的一个bean,bean的name是方法名; 2.2 关于@Bean和@Component,@S…
转载:https://www.iteye.com/blog/wiselyman-2210252 1.1 声明bean 使用上例建立的testMavenSpring项目,将pom.xml文件中的 <spring-framework.version>3.2.3.RELEASE</spring-framework.version>修改为4.1.5.RELEASE, 然后项目->右键->maven->update project; spring利用@Configurati…
学习和应用 Spring Boot 有一些时间了,你们对 Spring Boot 注解了解有多少呢?今天栈长我给大家整理了 Spring Boot 最核心的 25 个注解,都是干货! 你所需具备的基础 什么是 Spring Boot? Spring Boot 核心配置文件详解 Spring Boot 开启的 2 种方式 Spring Boot 自动配置原理.实战 Spring Boot 2.x 启动全过程源码分析 Java 必须掌握的 12 种 Spring 常用注解! 更多请在Java技术栈微…
I Proofs1 What is a Proof?2 The Well Ordering Principle3 Logical Formulas4 Mathematical Data Types5 Induction6 State Machines7 Recursive Data Types8 Infinite SetsII Structures9 Number Theory10 Directed graphs & Partial Orders11 Communication Networks…
一.Spring profile 在开发软件的时候,有一个很大的挑战就是将应用程序从一个环境迁 移到另外一个环境.开发阶段中,某些环境相关做法可能并不适合迁 移到生产环境中,甚至即便迁移过去也无法正常工作.数据库配置. 加密算法以及与外部系统的集成是跨环境部署时会发生变化的几个典 型例子.例--配置profile bean Spring为环境相关的bean所提供的解决方案其实与构建时的方案没有 太大的差别.当然,在这个过程中需要根据环境决定该创建哪个bean 和不创建哪个bean.不过Sprin…
#-----------------------------------------------------------------------------# # R in Action (2nd ed): Chapter 17 # # Classification # # requires packaged rpart, party, randomForest, kernlab, rattle # # install.packages(c("rpart", "party&q…
#-----------------------------------------------------------------------------# # R in Action (2nd ed): Chapter 17 # # Classification # # requires packaged rpart, party, randomForest, kernlab, rattle # # install.packages(c("rpart", "party&q…
#-----------------------------------------------------------------------------# # R in Action (2nd ed): Chapter 17 # # Classification # # requires packaged rpart, party, randomForest, kernlab, rattle # # install.packages(c("rpart", "party&q…
中文电子病历命名实体识别(CNER)研究进展 中文电子病历命名实体识别(Chinese Clinical Named Entity Recognition, Chinese-CNER)任务目标是从给定的电子病历纯文本文档中识别并抽取出与医学临床相关的实体提及,并将它们归类到预定义的类别.最近把之前收集整理的一些CNER相关的研究进展放在了github上.主要内容包括Chinese-CNER的相关论文列表,以及目前各个主要数据集上的一些先进结果,希望对CNER感兴趣的读者有所帮助. github地…
这篇文章介绍Spring 4的@Conditional注解. 一.在Spring的早期版本你可以通过以下方法来处理条件问题 3.1之前的版本,使用Spring Expression Language(SPEL). 3.1版本有个新特性叫profile,用来解决条件问题. 1.1.Spring Expression Language(SPEL) SPEL有一个三元运算符(if-then-else)可以在配置文件中当作条件语句,如下: <bean id="flag"> <…
有朋友想知道Spring不同版本都有哪些功能变更,说直接在百度搜索找到的结果都不是想要的,其实还是关键词不对,找Spring不同版本的新特性就能获得更好的结果.其实在Spring工程github的wiki上也有说明,只是没那么显眼,放一个链接:https://github.com/spring-projects/spring-framework/wiki/What%27s-New-in-the-Spring-Framework What's New in Spring Framework 5.x…
Spring4参考手册中文版 前言 https://github.com/b2gats/stone-docs/blob/master/spring-4-beans.md Part III. 核心技术 本部分参考手册完全覆盖了Srping 框架的全部技术 首先是Spring IoC控制反转.深入彻底的IoC讲解之后,紧随其后的是全面解说Spring AOP.Spring有自己的AOP框架,该框架概念简单易于理解,能解决Java企业应用中80%的需求 Spring也集成了AspectJ,Aspect…
原文地址:http://blog.csdn.net/ycb1689/article/details/22928519 最新版Struts2+Hibernate+Spring整合 目前为止三大框架最新版本是: struts2.3.16.1 hibernate4.3.4 spring4.0.2 其中struts2和hibernate的下载方式比较简单,但是spring下载有点麻烦,可以直接复制下面链接下载最新版spring http://repo.springsource.org/libs-rele…