spring in action小结4.1】的更多相关文章

1 横切关注点:可以被描述为影响应用多处的功能.横切关注点可以被模块化为特殊的类,这些类被称为切面. 2 AOP自己的术语,通知(Advice).切点(pointcut).连接点(joinpoint) 切面的工作被称为通知,通知定义了切面是什么以及如何使用,还解决了何时执行这个工作的问题. 3 切面的通知类型 1)前置通知(Before)2)后置通知(After)3)返回通知(After-returning)4)异常通知(After-throwing)5)环绕通知(Around) 4 连接点(j…
讨论依赖注入的时候,通常讨论的是一个bean引用注入到另一个bean的属性或者构造器参数中.bean装配的另一个方面是将值注入到bean的属性或者构造器参数中.避免硬编码的方式就是运行时确定值. spring解决办法是 1)属性占位符 2)spring语言表达式(SpEL) @PropertySource(“”)注解标注属性源 装配属性的方法1)使用Environment 相关方法检索.2)解析属性占位符 3) spring表达式语言 1. Environment常用方法 String getP…
1 @Component注解声明的类都会创建为bean,并且bean的id为首字母小写的类名. 2 解决bean自动装配奇异性问题,可以使用@Qualifier("name")限定符注解解决,他所设置的参数是要注入的bean的id. 3 创建bean的限定符,@Qualifier可以和@Component一块使用. @Component @Qualifier("cold") 4 声明自定义限定符,新建interface,然后在interface之前添加@.用于处理多…
Spring In Action 4th笔记(1) 2016-12-28 1.Spring是一个框架,致力于减轻JEE的开发,它有4个特点: 1.1 基于POJO(Plain Ordinary Java Object,简单Java对象)的轻量级和最小倾入式编程: 关于侵入式,引入一篇文章:http://www.myexception.cn/program/614076.html 侵入式和非侵入式的区别 简单说一下我的理解吧.假设大家都想要把用户代码塞到一个框架里.侵入式的做法就是要求用户代码"知…
读spring in action. 环境搭建 quick-start依赖注入 面向切面 1.环境搭建 jdk1.8 gradle 2.12 Intelij idea 2016.2.1 1.1创建一个gradle项目 在idea中,new -> project -> gradle 创建一个空项目.创建成功后修改build.gradle : group 'com.test' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'wa…
Web.xml<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/jav…
最近一段时间重新学习了一遍SPRING,现在对这些笔记整理一下,一来算是对之前的学习有一个交代,二来当是重新学习一次,三来可以留下备份 这次学习中以SPRING IN ACTION 4这学习资料,整书内容包括有: Spring基础,Springmvc基础,Spring处理和持久化数据,Spring应用程序与其他系统集成:总结中并不包含Spring web flow和Spring security,websocket和jmx相关部分 一.Spring基础 Spring 4初窥: Spring的4种…
前提:本文中的AOP仅限于Spring AOP. 先说说为什么需要AOP 最简单的一个例子就是日志记录,如果想记录一些方法的执行情况,最笨的办法就是修改每一个需要记录的方法.但这,真的很笨... 好的方法,应该是通过反射获取方法,然后去匹配,如果需要记录日志,那就调用日志方法即可. 这就是AOP 的Weaving,俗称编织.织入,就是将需要添加的功能编织到现有功能中,而不需要修改现有代码. 另一个例子,不那么大众的需求:我想给一个对象添加方法,怎么实现? 如果有学过js.Python等动态语言,…
这段时间,开始学习java吧,因为C sharp 学习了java的大量语法格式,所以,留意下,就不会错了,java 有的c sharp也有,而且之前我也学习过java的桌面开发,但是一下子上来就要自己研究spring in action 这本书,压力,,,唉,多谷歌or百度吧,人还是要靠自己理解的.不多说.. spring是个什么现在还很模糊,但是知道使用到依赖注入(DI)然后通过*.xml文件来配置.而依赖注入,我的认知就是一个类A的一个函数,需要调用类B ,A.FUN(CLASS B),然后…
在spring in action中论述了:DispatcherServlet和ContextLoaderListener的关系,简言之就是DispatcherServlet是用于加载web层的组件的上下文.ContextLoadListener是加载 其他组件的上下文. 第一种方式:纯注解的方式: 在spring4.0版本以上,倾向用注解的方式配置DispatcherServlet和ContextLoaderListener.配置方式如下: 思路:一个类只要继承AbstractAnnotati…
在讲用纯注解的方式实现springmvc之前先介绍一个类:AbstractAnnotationDispatcherServletInitializer.这个类的作用是:任何一个类继承AbstractAnnotationDispatcherServletInitializer,将会自动的被用为配置DispatcherServlet,以及在DispatcherServlet中的的spring容器(如:spring-servlet.xml)文件. spring in action的描述是:any cl…
这里用到了placeholder特有的一个语言或者将表达形式:${},spring in action 描述如下: In spring wiring ,placeholder values are property names wrapped with ${...},as an exampl,you can resolve the constructor arguments for a BlankDisc in xml like this : <bean id="sgtPeppers&qu…
一:这里先说一下DI(Dependency Injection)依赖注入有种表现形式:一种是CI(Constructor Injection)构造方法注入,另一种是SI(Set Injection) set 注入.这篇随笔讲的是第一种构造方法注入(Constructor Injection). 其实DI(Dependency Injection)依赖注入你不妨反过来读:注入依赖也就是把"依赖"注入到一个对象中去.那么何为"依赖"呢?依赖就是讲一个对象初始化或者将实例…
Spring框架作用是简化java开发的复杂性.下面是spring in action 对spring初步介绍. 一.主要有4种关键策略: 1. 基于POJO的轻量级和最小侵入性编程 . 2. 通过依赖注入和面向接口实现松耦合. 3. 基于切面和惯例进行声明式编程 . 4.通过切面和模板减少样板式代码. 二.Spring的核心 Spring的两个重要核心是控制反转Inversion of Control (IoC)也叫依赖注入dependency injection (DI)和面向切面编程Asp…
引言 最近开始学习Spring,了解到<Spring实战>已经出到第五版了,遂打算跟着<Spring实战(第五版)>来入门Spring,没想到这书一点也不严谨,才看到第三章就发现了多处代码问题. 此外,有很多地方都是含糊其辞没有说清楚,如果说此书面向小白却又不注重细节,如果说此书面向有spring基础的人却又过于浅显,吐槽到此结束. 本文记录<Spring In Action 5th>中遇到的错误,长期更新. 第二章 如果你也是一步步跟着<Spring In Ac…
1 对于二进制文件上传功能的实现.在spring中使用multipart来处理,处理方式有两种. CommonsMultipartResolver:使用Jakarta Commons FileUpload解析Multipart请求 StandardServletMultipartResolver:依赖于Servlet 3.0对multipart请求的支持(始于Spring 3.1). 如果在Servlet 3.0容器中部署,推荐使用StandardServletMultipartResolver…
0 配置 DispatcherServlet 是 spring mvc的核心,常规配置方法可以查看之前博客.springMVC简单例子 在此使用servlet 3 规范和 spring3.1 功能增强. 两个应用上下文,DispatcherServlet 和 ContextLoaderListener DispatcherServlet 加载包含web组件的bean,如控制器.视图解析器以及处理器映射. ContextLoaderListener 加载应用中其他的bean,通常是驱动应用后端的中…
0 AbstractAnnotationConfigDispatcherServletInitializer剖析,在Servlet 3.0环境中,容器会在类路径中查找实现ServletContainerInitializer接口的类,如果能发现的话,就用他来配置SErvlet容器. Spring提供了这个接口的实现,名为SpringServletContainerInitializer,这个类会查找实现了WebApplicationInitializer接口的类,并将配置任务交给他们来完成.Sp…
1 spring基本理念是简化java开发. 使用以下4个策略简化java开发 1) 基于POJO的轻量级和最小侵入性编程 2)通过使用DI和AOP实现松耦合 3)基于切面和惯例进行声明式编程 4)通过切面和模板减少样板式代码 2 依赖注入:对象的依赖关系将由负责协调系统中各个对象的第三方组件在创建对象时设定.对象无需自行创建或管理他们的依赖关系---依赖关系将会被自动注入到需要他们的对象中. 3 装配:创建应用组件之间协作的行为称为装配. 4 面向切面编程被定义为促使应用程序分离关注点的一项技…
主要由DispatcherServlet.处理器映射.处理器.视图解析器.视图组成   1.DispatcherServlet接收到一个HTTP请求,根据对应配置文件中的处理机映射,找到处理器(Handler) 点击(此处)折叠或打开 <property name="mappings"> <props> <prop key="login.do">loginControler</prop> <prop key=&q…
一. 1. 2. 3.customer-flow.xml 自己定义customer,最后output <?xml version="1.0" encoding="UTF-8"?> <flow xmlns="http://www.springframework.org/schema/webflow" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xs…
一. 1. 2.pizza-flow.xml <?xml version="1.0" encoding="UTF-8"?> <flow xmlns="http://www.springframework.org/schema/webflow" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:…
一. In Spring Web Flow, a flow is defined by three primary elements: states, transitions,and flow data.如果把webflow当做是一次旅行,则state是旅途中每个景点,而transitions是连接景点的路径,data是在每个景点中购买的纪念品. 1.state (1)支持的状态 (2)view-state View states are used to display information…
一. 1.Spring MVC provides several ways that a client can pass data into a controller’s handler method. These include  Query parameters Form parameters Path variables 二.以query parameters的形式给action传参数 1.传参数 @Test public void shouldShowPagedSpittles()…
第一部分 Spring核心 Spring提供了非常多功能,可是全部这些功能的基础是是依赖注入(DI)和面向方面编程(AOP). 第一章 Springing into action 本章包含: Spring的bean容器 探索Spring的核心模块 强大的Spring生态系统 Spring的新特性        如今是java程序猿的好时代.在长达20年的发展过程中,java经历了一些好时光,也经历了一些坏时光. 虽然有一些粗糙的地方,比如applet,Enterprise javabean(EJ…
spring 中, action和url的对应关系             在web.xml中,这样配置:           <servlet-mapping >            <servlet-name> spring</ servlet-name>            <url-pattern> *.html</url-pattern >      </servlet-mapping >                …
约定: 一.@Xxx Class 表示被@Xxx注解的类.同理还有@Xxx注解的字段或方法. 例如:@Bean Method. 二.@Component Class 同时代指 @Controller.@Service.@Repository. All beans in a Spring application context are given an ID. -- 如果不指明,也会给定一个默认的ID:类名,首字母小写.[]上面这句,不适合XML方式,因为XML方式的默认ID是全路径再加上#{n}…
一.说明 Spring Web Flow是spring MVC的扩展,它支持基于流程的应用程序,他将流程的定义和实现流程行为的类和视图分离开来. 1.1 spring中配置web flow,目前需要在xml中对其进行配置,首先需要加载名称空间 1.2 装配流程执行器 flow executor <flow:flow-executor id="flowexecutor"> 是驱动流程的执行,当用户进入一个流程时,流程执行器会为用户创建并启动一个流程执行实例,当流程暂停的时候,…
题目:定义一个员工实体(Employee),实现批量添加员工功能,在表单中可以一次添加多个员工,数据可以不持久化 1,新建一个项目 2, 然后选择Maven框架选择 maven-archetype-webapp     再--->Next 填写 GroupId. ArtifactId 选择配置(选择自己的Maven本地仓库等等...) 选择自动导入 为了“ [  ]” 能通过请求还中文tk,把Tomcat修改conf/server.xml文件,如下所示: <Connector port=&qu…
1.Spring之旅 1.1 简化java 开发 1.1.1 激发pojo 的潜能 1.1.2 依赖注入1.1.3 应用切面1.1.4 使用模板消除样板式代码1.2 容纳你的bean1.2.1 与应用上下文共事 1.2.2 bean 的生命周期1.3 俯瞰spring 风景线1.3.1 spring 模块 1.3.2 spring portfolio1.4 spring 新功能 1.4.1 spring 2.5 新特性 1.4.2 spring 3.0 新特性 1.4.3 spring port…