03点睛Spring4.1-scope】的更多相关文章

转载: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项目…
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…
11.1 Propert Editor property editor是JavaBeans API的一项特性,用来字符和属性值之间的互相转换(如2014-03-02和Date类型的互相转换) spring内置了CustomDateEditor, CustomNumberEditor, ClassEditor, FileEditor, LocaleEditor, StringArrayPropertyEditor 除了内置的property editor,如需自己定制额外的复杂情况继承JavaBe…
转载:https://www.iteye.com/blog/wiselyman-2210250 0.1 前置条件 Spring 4.1提倡基于Java Config和注解的配置,所以本教程通篇不会采用任何和xml配置相关的内容; 本教程默认读者有一定的Java Web及Spring使用基础; 本教程采用点睛的形式展现Spring各个知识点,不会深入到各个知识点的方方面面,目的是为了初学者快速掌握Spring的各方面知识; Spring的官方开发的示例都使用maven和gradle作为构建工具,本…
sigleton prototype request session globalsession stepscope…
转发:https://www.iteye.com/blog/wiselyman-2214290 3.1 REST REST:Representational State Transfer; REST是一种数据导向web service,相对于SOAP是一种操作操作和处理导向的web service; Spring为对REST的支持提供了@RestController; 在没有@RestController可以通过@Controller,@ResponseBody组合实现REST控制器; 但是我们…
17.1 @Conditional @Conditional为按照条件配置spring的bean提供了支持,即满足某种条件下,怎么配置对应的bean; 应用场景 当某一个jar包在classpath中的时候,配置某几个bean; 当某一个bean配置好后,会自动配置一个特定的bean; 当某种环境变量被设置后,创建某个bean; @Conditional为敏捷开发所提倡的原则"习惯优于配置"提供了支持; @Conditional是Spring Boot快速开发框架实现"习惯优…
转发: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…
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-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…
8.1 配置 Spring MVC的配置是通过继承WebMvcConfigurerAdapter类并重载其方法实现的; 前几个教程已做了得配置包括 01点睛Spring MVC 4.1-搭建环境 配置viewResolver 03点睛Spring MVC 4.1-REST 静态资源映射 04点睛Spring MVC 4.1-拦截器 配置拦截器 06点睛Spring MVC 4.1-文件上传 配置multipartResolver 07点睛Spring MVC4.1-ContentNegotiat…
转发地址:https://www.iteye.com/blog/wiselyman-2214965 7.1 ContentNegotiatingViewResolver ContentNegotiatingViewResolver支持在Spring MVC下输出不同的格式; ContentNegotiatingViewResolver是ViewResolver的一个实现; ContentNegotiatingViewResolver使用request的媒体类型,根据扩展名选择不同的view输出不…
转发地址:https://www.iteye.com/blog/wiselyman-2213907 2.1 @RequestMapping @RequestMapping是SpringMVC的核心注解,负责访问的url与调用方法之间的映射; @RequestMapping可以放在类和方法上; @RequestMapping的属性produces属性控制response返回的形式; @RequestMapping的属性method属性控制接受访问的类型,不写不做限制,本例为演示方便全部都是get请…
参考https://www.cnblogs.com/CloudMan6/p/7491831.html   在host2上执行如下命令:       weave launch host1_ip   必须在host2上指定host1的IP地址,这样host1和host2才能加入到同一个weave网络   然后在host2上运行容器 bbox3       eval $(weave env)       docker run --name bbox3 -itd busybox   进行weave网络下…
8.1 配置 Spring MVC的配置是通过继承WebMvcConfigurerAdapter类并重载其方法实现的; 前几个教程已做了得配置包括 01点睛Spring MVC 4.1-搭建环境 配置viewResolver 03点睛Spring MVC 4.1-REST 静态资源映射 04点睛Spring MVC 4.1-拦截器 配置拦截器 06点睛Spring MVC 4.1-文件上传 配置multipartResolver 07点睛Spring MVC4.1-ContentNegotiat…
2.1 @RequestMapping @RequestMapping是SpringMVC的核心注解,负责访问的url与调用方法之间的映射; @RequestMapping可以放在类和方法上; @RequestMapping的属性produces属性控制response返回的形式; @RequestMapping的属性method属性控制接受访问的类型,不写不做限制,本例为演示方便全部都是get请求; @ResponseBody(放在方法上或者返回值类型前)将方法参数放置在web body的bo…
DI:中文名称:依赖注入 英文名称((Dependency Injection) DI 是什么? 3.1 DI 和IoC 是一样的,差不多一样的技术和模板! 3.2 当一个类(A)中需要依赖另一个类(B)对象时,把 B 赋值给A 的过程就叫做依赖注入. 4.代码体现: (添加一个desk类,并且添加进People属性内) 4.1 添加desk bean类 : private int id; private double price; package com02.bean; public clas…
配置Bean的形式可以基于XML文件的方式,也可以基于注解的方式,而Bean的配置方式可以通过全类名(反射),通过工厂方式和FactoryBean. XML形式 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/200…
原翻译链接:https://github.com/xufei/Make-Your-Own-AngularJS/edit/master/01.md 原文链接:http://teropa.info/blog/2013/11/03/make-your-own-angular-part-1-scopes-and-digest.html Angular是一个成熟和强大的JavaScript框架.它也是一个比较庞大的框架,在熟练掌握之前,需要领会它提出的很多新概念.很多Web开发人员涌向Angular,有不…