上文讲了spring是如何开启AOP的,简单点说就是将AnnotationAwareAspectJAutoProxyCreator这个类注册到容器中,因为这个类最终实现了BeanPostProcessor接口,并且在其postProcessAfterInitialization()方法中完成了AOP代理对象的创建,创建时机则是在bean的init方法被执行之后即bean初始化完成之后.postProcessAfterInitialization()方法是重点,本文及下一篇文章都是围绕着这个方法来…
目录 前言 Spring.NET学习笔记——前言 第一阶段:控制反转与依赖注入IoC&DI Spring.NET学习笔记1——控制反转(基础篇) Level 200 Spring.NET学习笔记2——环境搭建(基础篇) Level 200 Spring.NET学习笔记3——实现一个简易的IoC框架(练习篇) Level 100 Spring.NET学习笔记4——对象的创建(基础篇) Level 200 Spring.NET学习笔记5——容器中对象的作用域(基础篇) Level 200  Spri…
目录 前言 Spring.NET学习笔记——前言 第一阶段:控制反转与依赖注入IoC&DI Spring.NET学习笔记1——控制反转(基础篇) Level 200 Spring.NET学习笔记2——环境搭建(基础篇) Level 200 Spring.NET学习笔记3——实现一个简易的IoC框架(练习篇) Level 100 Spring.NET学习笔记4——对象的创建(基础篇) Level 200 Spring.NET学习笔记5——容器中对象的作用域(基础篇) Level 200 Sprin…
Spring学习笔记之aop动态代理(3) 1.0 静态代理模式的缺点: 1.在该系统中有多少的dao就的写多少的proxy,麻烦 2.如果目标接口有方法的改动,则proxy也需要改动. PersonDao.java public interface PersonDao { public void savePerson(); } PersonDaoImpl.java public class PersonDaoImpl implements PersonDao{ public void save…
Spring入门IOC和AOP学习笔记 概述 Spring框架的核心有两个: Spring容器作为超级大工厂,负责管理.创建所有的Java对象,这些Java对象被称为Bean. Spring容器管理容器中Bean之间的依赖关系,使用一种叫做"依赖注入"的方式来管理bean之间的依赖关系. Spring有两个核心接口:BeanFactory和ApplicationContext,ApplicationContext是BeanFactory的子接口.它们都可以代表Spring容器,Spri…
Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service层,Model层,建立Controller对数据库操作的通道. 这里没有使用maven来管理jar包(依赖库),因为没太多,实际上还是很繁琐的,要有耐心. 原本稍微复杂的工程项目还是应该使用maven来管理依赖库,参见:http://tieba.baidu.com/p/2364606122?pn=1…
Spring 框架学习笔记(1) 一.简介 Rod Johnson(spring之父) Spring是分层的Java SE/EE应用 full-stack(服务端的全栈)轻量级(跟EJB比)开源框架,以IoC(Inversion of Controll,控制反转,解耦)和AOP(Aspect oriented programming,面向切面编程,底层是动态代理)为内核. 提供:能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE企业应用开源框架. 表示层Spring MV…
Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记(三) 整合 MyBatis + Druid Spring Boot 学习笔记(四) 整合 Druid 监控 Spring Boot 学习笔记(五) 整合 静态资源 Spring Boot 学习笔记(六) 整合 RESTful 参数传递 Spring Boot 学习笔记(七) 整合 Swagger2…
SaToken学习笔记-03 如果排版有问题,请点击:传送门 核心思想 所谓权限验证,验证的核心就是一个账号是否拥有一个权限码 有,就让你通过.没有?那么禁止访问! 再往底了说,就是每个账号都会拥有一个权限码集合,我来验证这个集合中是否包含指定的权限码 例如:当前账号拥有权限码集合:["user-add", "user-delete", "user-get"],这时候我来验证权限 "user-update",则其结果就是:验证…
Spring MVC 学习笔记一 HelloWorld Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet 加入Spring MVC的配置文件 编写处理请求的处理器,并添加对应注解 编写视图 下面按照国际惯例先来一个HelloWorld,在新建项目前最好是在Eclipse中安装一个名叫Spring IDE的插件,它会在你以后进行Spring相关开发中提供诸多便捷功能.新建一个Dynamic Web Pr…
在 Spring Security 中基于表单的认证模式,默认就是密码帐号登录认证,那么对于短信验证码+登录的方式,Spring Security 没有现成的接口可以使用,所以需要自己的封装一个类似的认证过滤器和认证处理器实现短信认证. 短信验证码认证 验证码对象类设计 和图片验证码一样,需要自己封装一个验证码对象,用来生成手机验证码并发送给手机.因为图片验证码和手机验证码对象的区别就在于前者多了个图片对象,所以两者共同部分抽象出来可以设计成一个ValidateCode类,这个类里面只存放验证码…
整体实现逻辑 前端在登录页面时,自动从后台获取最新的验证码图片 服务器接收获取生成验证码请求,生成验证码和对应的图片,图片响应回前端,验证码保存一份到服务器的 session 中 前端用户登录时携带当前验证码 服务器校验验证码是否合法(验证码存在并未过期),继续后续的用户名和密码校验逻辑 通过一个时序图来表述如下图,图中细化了一下各个控制器和过滤器之间的功能职责,还不是很正规,只为了更好表达上述的流程描述,所以读者们将就一下: 时序图 plantUML 代码 plantUML 的使用教程请移步至…
spring揭密学习笔记 spring揭密学习笔记(1) --spring的由来 spring揭密学习笔记(2)-spring ioc容器:IOC的基本概念…
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript Object Notation",意思是JavaScript对象表示法.    2. 它是一种基于文本,独立于语言的轻量级数据交换格式.    3. json的两种结构:对象{key:value,key:value,...}  和  数组 [value, value2, ... ]    4. js…
</pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p><h3 style="margin:0px; padding:0px; color:rgb(51,51,51); font-family:Arial; line-height:26px; text-indent:28px">第三部分:显示全局异常信息,而不是局部异常信息.<…
Spring MVC 学习笔记9 -- 实现简单的用户管理(4.2)用户登录--显示局部异常信息 第二部分:显示局部异常信息,而不是500错误页 1. 写一个方法,把UserException传进来. 2. 映射方式:@ExceptionHandler (), 括号里value是UserException.class 3. 传参进入UserException方法:(UserException ue, HttpServletRequest req) -----//1.把 UserException…
Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; >> META-INF  WEB-INF  login.jsp 表单:<form>中包含两个参数,action(目标) & method (方法).使用了<input>标签,type(text,password,submit), name,两个参数. <form…
前言 在上一篇文章Spring Boot 学习笔记1——初体验之3分钟启动你的Web应用已经对Spring Boot的基本体系与基本使用进行了学习,本文主要目的是更加进一步的来说明对于Spring Boot使用上的具体的细节以及使用上的最佳实践, 经过了几天的文档阅读和实验,将自己这几天的学习心得在这里记录下来.如果有不对的地方,请指正! 1.依赖管理的配置 1.1 依赖管理的原理及最佳实践 我们在使用Spring Boot时,通常最好的方式是继承spring-boot-starter-pare…
机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理.源码解析及测试 关键字:决策树.python.源码解析.测试作者:米仓山下时间:2018-10-24机器学习实战(Machine Learning in Action,@author: Peter Harrington)源码下载地址:https://www.manning.com/books/machine-learning-in-actiongit@github.com:pbharrin/ma…
本节代码使用的opencv-python 4.0.1,numpy 1.15.4 + mkl 使用图片为 Mjolnir_Round_Car_Magnet_300x300.jpg 代码如下: import cv2 import numpy as np # img = cv2.imread('lightning.jpg',0) img = cv2.imread('Mjolnir.jpg',cv2.IMREAD_UNCHANGED) # img = cv2.pyrUp(img) img_gray =…
opencv-python   4.0.1 1 函数释义 词义:发现轮廓! 从二进制图像中查找轮廓(Finds contours in a binary image):轮廓是形状分析和物体检测和识别的有用工具. findContours(image, mode, method[, contours[, hierarchy[, offset]]]) -> contours, hierarchy 参数 image - 一个8位单通道二值图像(非0即1).非零像素视为1.零像素依然为0, 因此图像被视…
Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目 Spring Tool Suite 是一个带有全套的Spring相关支持功能的Eclipse插件包. 安装Spring Tool Suite : Window -> Eclipse Marketplace -> Search for "STS", Select the Spring Tool Suite that matches your Eclipse Version. 第一…
Spring MVC 学习笔记1 - First Helloworld by Eclipse reference:http://www.gontu.org 1. 下载 Spring freamworks 4.0.0 RELEASE 2. 下载 commons-logging-1.2-bin 3. 在Eclipse Luna Service Release 1 (4.4.1)中新建Dynamic Web App 4. 配置服务器平台:Window - show view - servers ; "…
aop学习总结三----aop的相关概念 public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {//环绕通知 PersonServiceBean bean = (PersonServiceBean) this.targetObject; Object result = null; if(bean.getUser()!=null){ //beforeadvice()-->前置通知 try…
Spring Boot可以更为方便地搭建一个Web系统,之后服务器上部署也较为方便 创建Spring boot项目 1. 使用IDEA创建项目 2. 修改groupid和artifact 3. 一路next,自动IDEA就会自动下载依赖的jar包 4. 运行 之后运行项目(Application类),打开http://localhost:8080就会出现下面的白板页面,说明已配置成功 项目结构说明及使用 项目结构说明 我们可以看见项目中是这样的结构,Spring boot内置了tomcat服务器…
C++ GUI Qt4学习笔记03   qtc++spreadsheet文档工具resources 本章介绍创建Spreadsheet应用程序的主窗口 1.子类化QMainWindow 通过子类化QMainWindow可以创建一个窗口 图形用户界面(GUI)应用程序通常会使用很多的图片,最常见的为应用程序提供图片的方法是使用Qt的资源机制(resource mechanism) 使用Qt资源系统,必须创建一个资源文件,并且在识别该资源文件的.pro文件中添加一行代码. RESOURCES = s…
之前写的那篇Spring框架学习笔记(5)--Spring Boot创建与使用,发现有多小细节没有提及,,正好现在又学习了mybatis plus这款框架,打算重新整理一遍,并将细节说清楚 1.通过IDEA创建spring boot 2.项目相关配置 只需要修改第一个和第二个,下面的其他选项会自动改变 3.勾选需要的库 这一步勾选了之后,spring boot会自动地在pom.xml文件中添加相关对应的第三方开源库的依赖 这里如果不熟悉的话,建议不要勾选mybatis和mysql,这样创建出来的…
Redis:学习笔记-03 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 7. Redis配置文件 启动的时候,就通过配置文件来启动! 7.1 Units 用来指定单位 # Note on units: when memory size is needed, it is possible to specify # it in the usual form of 1k 5GB 4M and so for…
1. AOP概述 软件开发一直在寻求更加高效.更易维护甚至更易扩展的方式.为了提高开发效率,我们对开发使用的语言进行抽象,走过了从汇编时代到现在各种高级语言繁盛之时期:为了便于维护和扩展,我们对某些相同的功能进行归类并使之模块化,冲出了最初的"原始部落",走过了从过程化编程到面向对象编程(OOP)的"短暂而漫长"的历程.但不管走过的路有多长,多么坎坷,我们一直没有停止寻找更加完美.更加高效的软件开发方法,过去如此,现在亦然.   当OOP被提出来,以取代过去基于过程…
上文简要总结了一些AOP的基本概念,并在此基础上叙述了Spring AOP的基本原理,并且辅以一个简单例子帮助理解.从本文开始,我们要开始深入到源码层面来一探Spring AOP魔法的原理了. 要使用Spring AOP,第一步是要将这一功能开启,一般有两种方式: 通过xml配置文件的方式: 通过注解的方式: 1. 配置文件开启AOP功能 我们先来看一下配置文件的方式,这个上文也提到过,在xml文件中加上对应的标签,而且别忘了加上对应的名称空间(即下面的xmlns:aop...): <?xml…