Spring实战笔记】的更多相关文章

创建应用对象之间协作关系的行为通常成为装配,该篇的主要内容有两个,一个Spring装配Bean的几种方式以及Spring表达式,事实上这两者是分不开的,在Spring中,对象无需自己负责查找或者创建与其关联的其它对象,相反容器负责把须要相互协作的对象一引用赋予各个对象,眼下我们先说声明式的装配,注解式的装配等溜到下篇再具体记录,在声明用的xml配置文件里,能够使用表达式来完毕一些简单的逻辑处理,和方法调用或者对象引用,在有些特殊的需求其中非它莫属,首先是装配Bean 声明Bean <bean i…
代理 代理(Proxy)是一种设计模式,可以在目标对象实现的基础上,扩展目标对象的功能. 代理对象是对目标对象的扩展,并会调用目标对象. 三种代理模式 静态代理 100% 代理对象与目标对象要实现相同的接口,然后通过调用相同的方法来调用目标对象的方法. 优点:不用修改原对象. 缺点:一旦接口增加方法,目标对象和代理对象都要维护. 动态代理(也叫JDK代理,接口代理) 30% 动态代理中,代理对象不需要实现接口,代理对象的生成是利用JDK的API,动态地在内存中构建代理对象. 使用java.lan…
之前有一次在面试其中被问到了这个问题.当时说得不是非常清楚,有些细节的地方想不起来了.所以在这里从新回想和总结一下SpringMVC的起步.请求的运行过程. 在SpringMVC其中.跟请求(Request)有关系的有下面几个部分 DispatcherServlet HandlerMapping Controller ViewResolver View 事实上我要做的就是用几个剪头把上边列表中的五个部分连起来,这样就能够清晰的看出来请求是如何走的了. 首先请求从浏览器发送出来到了server,我…
晚上看了这本书的前面几章,记录一下自己看到的要点. 全书分为四大部分,Spring核心,web,后台相关,与其它框架集成.今天主要看了第一部分. Spring最根本的使命是简化Java开发,全方位的简化开发,降低开发复杂性,为此主要采用了4种关键策略, 基于pojo的轻量级和最小侵入式编程. 通过依赖注入和面向接口实现松耦合. 基于切面和惯例进行声明式编程. 通过切面和模板减少样板式代码. 其中最核心的技术就是依赖注入和AOP.依赖注入通过容器解决对象的实例初始化以及对象间依赖关系的管理. 关依…
Spring实战第八章学习笔记----使用Spring Web Flow Spring Web Flow是一个Web框架,它适用于元素按规定流程运行的程序. 其实我们可以使用任何WEB框架写流程化的应用程序,但是这样就没有办法将流程和实现分开了,你会发现流程的定义分散在组成流程的各个元素中,没有地方能够完整地描述整个流程.Spring Web Flow是Spring MVC的扩展,它支持开发基于流程的应用程序.它将流程的定义与实现流程行为的类和视图分离开来. 在Spring中配置Web Flow…
Spring实战第六章学习笔记----渲染Web视图 理解视图解析 在之前所编写的控制器方法都没有直接产生浏览器所需的HTML.这些方法只是将一些数据传入到模型中然后再将模型传递给一个用来渲染的视图.尽管我们编写了几个JSP视图但控制器不关心这些. 将控制器请求处理的逻辑和视图中的渲染实现解耦是SpringMVC的一个重要特性.而控制器只通过逻辑视图名来了解视图,这时就需要Spring视图解析器了. SpringMVC定义了一个名为ViewResolver的接口,大致如下所示: public i…
Spring实战第五章学习笔记----构建Spring Web应用程序 Spring MVC基于模型-视图-控制器(Model-View-Controller)模式实现,它能够构建像Spring框架那样灵活和松耦合的Web应用程序. Spring MVC起步 跟踪Spring MVC的请求…
Spring实战第四章学习笔记----面向切面的Spring 什么是面向切面的编程 我们把影响应用多处的功能描述为横切关注点.比如安全就是一个横切关注点,应用中许多方法都会涉及安全规则.而切面可以帮我们模块化横切关注点.而当我们要重用通用功能时,最常见的面向编程技术是继承或委托.但当整个应用都用相同的基类继承会导致整个对象体系脆弱,而委托会使调用变复杂.切面则提供了取代继承和委托的另一种方案.在使用面向切面编程时,我们仍然在一个地方定义通用功能,但是可以通过声明的方式定义这个功能要以何种方式在何…
Spring实战第二章学习笔记----装配Bean 创建应用对象之间协作关系的行为通常称为装配(wiring).这也是依赖注入(DI)的本质. Spring配置的可选方案 当描述bean如何被装配时,Spring具有非常大的灵活性,它提供了三种主要的装配机制: 在XML中进行显示装配. 在Java中进行显示装配. 隐式的bean发现机制和自动装配. 在这本书中作者建议尽可能使用自动配置的机制.显示配置越少越好.而当你必须要显示配置bean时(比如有些代码不是你维护的,而你需要为这些代码装配bea…
Spring实战第一章学习笔记 Java开发的简化 为了降低Java开发的复杂性,Spring采取了以下四种策略: 基于POJO的轻量级和最小侵入性编程: 通过依赖注入和面向接口实现松耦合: 基于切面和惯例进行声明式编程: 通过切面和模板减少样板式代码: 1. 激发POJO的潜能 POJO简单的Java对象,实际上就是普通JavaBean. Spring不会因为自身API而弄乱了你的应用代码,它不会让你实现Spring规范的接口或继承Spring规范的类,所以在Sora构建的类中,它的类没有使用…
Spring实战读书笔记 Spring-core Spring之旅 - DI 和 AOP 概念 spring 的Bean容器 spring 的 核心模块 Spring的核心策略 POJO 最小侵入式编程 Spring不会强迫你实现接口或者继承类,通过DI来装配POJO类型. 采用依赖注入和面向接口实现松耦合 依赖反转容器(IOC):将整体设计和局部实现之间的依赖关系反转,比如汽车厂设计汽车:如果先设计轮子,再根据轮子设计底盘,再根据底盘设计汽车,在我们更换轮子的时候就会由于轮子和底盘之间依赖关系…
http://blog.csdn.net/21aspnet/article/details/51386557 1.IOC装配Bean 参考[spring实战4 2.2],作者提倡无XML配置化. 1.1接口只有一个现实类 可以自动装配 package demo; public interface CompactDisc { void play(); } 实现类 package demo; import org.springframework.stereotype.Component; @Comp…
之前一直在看<Spring实战>第三版,看到第五章时发现很多东西已经过时被废弃了,于是现在开始读<Spring实战>第四版了,章节安排与之前不同了,里面应用的应该是最新的技术. 本章中,将会接触到Spring MVC基础,以及如何编写控制器来处理web请求,如何通明地绑定请求参数到业务对象上,同时还可以提供数据校验和错误处理的功能. Spring MVC初探 跟踪Spring MVC请求 请求会由DispatcherServlet分配给控制器(根据处理器映射来确定),在控制器完成处…
最近在学习spring boot 发现对某些注解不是很深入的了解.看技术书给出的实例 会很疑惑为什么要用这个注解? 这个注解的作用?有其他相同作用的注解吗?这个注解的运行机制是什么?等等 springboot 相对spring 改变了些规则和使用方式.总感觉 还是需要把springboot的祖先了解下. 买了本spring 实战4 希望对我的了解有帮助. spring 的出现代替了更加重量级的企业java技术, 相对EJB  它提供了 简单的编程和轻量级. 一 spring bean java配…
主要内容 定义Spring的数据访问支持 配置数据库资源 使用Spring提供的JDBC模板 写在前面:经过上一篇文章的学习,我们掌握了如何写web应用的控制器层,不过由于只定义了SpitterRepository和SpittleRepository接口,在本地启动该web服务的时候会遇到控制器无法注入对应的bean的错误,因此我决定跳过6~9章,先搞定数据库访问者一章. 在企业级应用开发中不可避免得会涉及到数据持久化层,在数据持久化层的开发过程中,可能遇到很多陷阱.你需要初始化数据库访问框架.…
已经想不起来上一次买技术相关的书是什么时候了,一直以来都习惯性的下载一份电子档看看.显然,如果不是基于强烈的需求或强大的动力鞭策下,大部分的书籍也都只是蜻蜓点水,浮光掠影. 就像有位同事说的一样,有些书没有真真切切的经历过,你去看,看了就是看了,只是没有留下多少印象.我回头仔细想了想,大概就是这样,好比你去看设计模式相关的书籍,了解到了适配器模式,但是还是不够深刻.比如说某天你去面试的时候别人会问你,"你了解过适配器模式么,你有过这个模式的开发经历么,你能否画出你使用适配器模式的UML图...&…
前一篇博客介绍了Spring中的Bean的基本概念和作用域(Spring读书笔记-----Spring的Bean之Bean的基本概念),现在介绍Spring Bean的基本配置. 从开始我们知道Java应用中各组件的相互调用的实质可以归纳为依赖关系.根据注入方式的不同,Bean的依赖注入可以分为两种形式: 1.  属性:通过<property …/>元素配置,对应设置注入. 2.  构造器参数:通过<constructor-arg…/>元素配置,对应构造注入. 不管是属性,还是构造…
博主Spring学习笔记整理大部分内容来自Spring实战(第四版)这本书.  强烈建议新手购入或者需要电子书的留言. 在学习Spring之前,我们要了解这么几个问题:什么是Spring?Spring的优势在哪里?怎么系统的学习Spring? 一.什么是Spring? Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发. 那有人就会问了,Spring是如何简化开发的? 在传统开发中,一个应用是需…
在上一章节Spring学习笔记1——IOC: 尽量使用注解以及java代码中,已经搭建了项目的整体框架,介绍了IOC以及mybatis.第二节主要介绍SpringMVC中的表单数据验证以及文件上传. 一.表单数据验证 用户注册时,需要填写账号.密码.邮箱以及手机号,均为必填项,并且需要符合一定的格式.比如账号需要32位以内,邮箱必须符合邮箱格式,手机号必须为11位号码等.可以采用在注册时验证信息,或者专门写一个工具类用来验证:来看下在SpringMVC中如何通过简单的注释实现表单数据验证. 在j…
因为在学习Spring的时候学到有关数据库的章节的时候,提及到了hibernate的集成,可是我对hibernate技术差点儿是一点不了解.仅仅是知道它是一个orm对象映射框架,所以在初探的章节做一下hibernate的简单了解,以及应用.顺便提一句,我用的是maven加入的hibernate开发包 简单使用hibernate的一般步骤 *创建而且编辑hibernate配置文件 该配置文件主要是用于链接数据库所用,定义了数据库的驱动程序和映射文件的位置.例如以下是一个简单的配置 <?xml ve…
在第一节 Spring Security笔记:Hello World 的基础上,只要把Spring-Security.xml里改一个位置 <http auto-config="true"> <intercept-url pattern="/admin" access="ROLE_USER" /> <http-basic /> </http> 注意第三行,加上<http-basic/>后,…
在spring实战四中,使用在Spring中增加<context:annotation-config>的方式告诉Spring,我们打算使用基于注解的自动装配,希望Spring特殊对待我们所定义的Bean里的某一组注解,并使用这些注解指导Bean的装配.即使  <context:annotation-config>有助于完全消除Spring配置中的 <property>和<constructor-arg>元素,我们仍然需要使用<bean>元素显示定…
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www.cnblogs.com/ssslinppp/p/4528892.html [Spring学习笔记-MVC-4]返回Json数据-方式2:http://www.cnblogs.com/ssslinppp/p/4530002.html [Spring学习笔记-MVC-3.1]SpringMVC返回Json数据-…
继续回到沈老师的MYSQL颠覆实战,首先回顾下上一节课的内容,请大家会看下上节课写的存储过程. 打开prod_clicklog表, 我们只要把日期(不含时分秒)的部分存在数据库中, 如果同一日期有相同用户点击商品,那么我们对其数值+1,否则的话,这张点击日志表会过于庞大 下面我们将prod_clicklog表修改下: 将字段clickdate 修改为 date类型,增加clicknum字段,默认为1. 然后,我们把上一节课的存储过程sp_load_prod再修改一下: BEGIN ; SET @…
版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸老师署名以及课程来源地址. 这几节课沈老师先带我们说道一下商品表. 固定商品:譬如我们只是卖鞋,那么整个商品的属性基本都是一致的,列如鞋的颜色.尺寸.款式.品牌.价格.这时候我们涉及到的表往往是平面的. 这种涉及方法的特点: 1.纯定制化. 2.开发快,仅仅只要针对某些元素开发. 3.但是扩展性差,一旦我们新…
版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸老师署名以及课程来源地址. 一.MYSQL安装设置简述. 1.本课程基于MYSQL 5.7.9教学. 2.课程使用的是centos 6.7作为服务器版本   进入官网,选择 http://dev.mysql.com/downloads/repo/yum/   直接的地址(本课程服务器)http://dev.m…
今天我们学习web开发级mysql颠覆实战课程第9课没MYSQL事务(一):白话理解事务.前面有两节课第7讲:商品系统设计(四):商品属性设计之自定义属性,第8讲:商品系统设计(五):一维属性的商品价格表设计的笔记本人省略,没有原因,个人爱好. 所谓事务,用老师白话理解就是: 1.不止要执行一个步骤.2.这些步骤每一步都按照既定想法去执行,错一步那么整个过程都反悔.3.事务进行时,外界干扰无法影响. 这算是老师的一个基础讲解,首先我们来建一张用户余额表,这个表我们采用的是Innodb模式,在这个…
今天我们来讲一下商品属性 我们知道,不同类别的商品属性是不同的. 我们先建一个表prod_class_attr:…
版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸老师署名以及课程来源地址. 现在我们接着上节课,完成第二个功能,不管成功不成功都记录一个日志. 一.回顾上节课内容,我们在user_log表中添加一个字段 user_id.  在上一节课的存储过程新增一行代码,如下: BEGIN ; set @user_name=''; set @_result='login…
版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸老师署名以及课程来源地址. 一.首先我们用上节课的存储过程对两张表压100万数据(各100万). 第一表 user_sys我们使用的是InnoDB模式,小卒自己的插入结果是:…