spring框架

Spring框架之Filter应用

余生长醉 提交于 2020-03-27 07:44:01
在web.xml中进行配置。对全部的URL请求进行过滤。就像"击鼓传花"一样,链式处理。 配置分为两种A和B。 A:普通配置 在web.xml中添加例如以下内容: <filter> <filter-name>permissionFilter</filter-name> <filter-class>com.taobao.riskm.filter.PermissionFilter</filter-class> </filter> <filter-mapping> <filter-name>permissionFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 由filter和filter-mapping构成。filter指定过滤器处理类(实现了Filter接口)。filter-mapping指定过滤的规则。 B:高级配置 (同意代理注入Spring bean) 在web.xml中添加例如以下内容: <filter> <filter-name>permission</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> <init-param> <param-name

Spring框架之Filter应用

元气小坏坏 提交于 2020-03-27 07:43:45
转载自: http://blog.csdn.net/whuslei/article/details/8134848 urlpattern规则在最后! 在web.xml中进行配置,对所有的URL请求进行过滤,就像"击鼓传花"一样,链式处理。 配置分为两种A和B。 A:普通配置 在web.xml中增加如下内容: <filter> <filter-name>permissionFilter</filter-name> <filter-class>com.taobao.riskm.filter.PermissionFilter</filter-class> </filter> <filter-mapping> <filter-name>permissionFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 由filter和filter-mapping构成。filter指定过滤器处理类(实现了Filter接口),filter-mapping指定过滤的规则。 B:高级配置 (允许代理注入Spring bean) 在web.xml中增加如下内容: <filter> <filter-name>permission</filter-name> <filter-class>org.springframework

关于spring MVC的面试题

混江龙づ霸主 提交于 2020-03-27 07:30:26
MVC设计模式 M model 模型 model包括service处理业务逻辑,entity实体类封装数据,dao操作数据库,utils工具类 service层主要用来处理业务逻辑,service层的一些公共处理可以使用spring框架的AOP来完成,比如,日志信息,事物的处理 Spring是一个框架,结合了java中多种优秀设计模式形成的一个企业级解决方案 IOC :控制反转,将对象的创建与属性的赋值交给Spring框架完成,将控制权由程序员交给Spring框架这就是控制反转,IOC主要运用的是Java中的工厂设计模式,将要创建对象的类交给Spring工厂,需要时直接去工厂中取 DI: DI和IOC本质相同说法不同,DI依赖注入,通过属性的set方法或者类的构造方法为属性赋值 AOP:面向切面编程,是对OOP面向对象编程的一种补充,主要运用的是Java中代理设计模式,代理设计模式又分为静态代理和动态代理 静态代理和动态代理的区别:静态代理在代码编译时代理类就产生了,动态代理是在代码运行期才会产生代理类,在运行期JDK底层会动态的生成代理类,并创建代理对象 Spring的事务处理: 事务处理由Spring框架的声明式事务处理完成 Spring框架创建对象的创建次数 : Bean标签的scope属性可以设置对象的创建次数,为singleton时这个对象时单例的只会创建一次

Spring Cloud入门

牧云@^-^@ 提交于 2020-03-27 02:54:26
Spring Cloud 什么是Spring Cloud? Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership election, distributed sessions, cluster state). Coordination of distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. They will work well in any distributed environment, including the

全网最全微服务架构—Spring Cloud详解,没有比这更详细的了!

懵懂的女人 提交于 2020-03-26 22:51:24
软件是有生命的,你做出来的架构决定了这个软件它这一生是坎坷还是幸福。 本文不是讲解如何使用Spring Cloud的教程,而是探讨Spring Cloud是什么,以及它诞生的背景和意义。 一、背景 2008年以后,国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去”能用就行”这种很low的档次了,像 抢红包、双十一这样的活动 不断逼迫我们去突破软件系统的性能上限,传统的IT企业”能用就行”的开发思想已经不能满足互联网 高并发、大流量的性能要求 。系统架构 走向分布式 已经是服务器开发领域解决该问题唯一的出路,然而分布式系统由于天生的复杂度,并不像开发单体应用一样把框架一堆就能搞定,因此各大互联网公司都在投入技术力量研发自己的基础设施。这里面比较有名的如 阿里的开源项目dubbo, Netflix开发的一系列服务框架 。在这种“百花齐放”、重复造轮子的状况下,必然要出现一种统一的标准来简化分布式系统的开发, Spring Cloud 应运而生。 二、Spring Cloud是什么 Spring Cloud是一系列框架的有序集合 。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如 服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控 等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子

spring基础知识

浪子不回头ぞ 提交于 2020-03-26 21:01:43
Spring IOC(控制反转):   作用:通过引入IOC容器,利用依赖关系注入的方式,实现对象之间的解耦   实现原理:注解(标识)、反射、工厂 Spring AOP(面向切面):   作用:在不修改源代码的情况下,可以实现功能的增强   AOP思想:基于代理思想,对原来目标对象,创建代理对象,在不修改原对象代码情况下,通过代理对象,调用增强功能的代码,从而对原有业务方法进行增强   实现原理:AOP 框架负责动态地生成 AOP 代理类,这个代理类的方法则由 Advice 和回调目标对象的方法所组成。   实现技术:jdk动态代理、CGLIB动态代理   核心概念:     切面(Aspect):是一个类,里面定义了通知与切点     切点(PointCut):表达式。就是告诉程序要在执行哪些核心业务的时候,执行非核心的业务       @Pointcut("execution(* com.suning.retailcloud.iss.dao. . (..))")     通知(advice):五种通知方式:       @Before:前置通知,在调用目标方法之前执行通知定义的任务    @After:后置通知,在目标方法执行结束后,无论执行结果如何都执行通知定义的任务    @After-returning:后置通知,在目标方法执行结束后,如果执行成功,则执行通知定义的任务

Spring bean的生命流程

给你一囗甜甜゛ 提交于 2020-03-26 20:26:58
Spring 是一个轻量级的 J2EE 开源框架,其目标是降低企业级应用开发难度,提高企业级应用开发效率。在日程开发中,我们会经常使用 Spring 框架去构建应用。所以作为一个经常使用的框架,了解其原理还是很有必要的。接下来我们就从宏观层面上,来看看 Spring 中的 bean 由实例化到销毁的过程。在详细讨论 bean 生命周期前,先上一张图,后面也会围绕这张图展开讨论。 图1 bean实例化过程 接下来对照上图,一步一步对 singleton 类型 bean 的生命周期进行解析: 实例化 bean 对象,类似于 new XXObject() 将配置文件中配置的属性填充到刚刚创建的 bean 对象中。 检查 bean 对象是否实现了 Aware 一类的接口,如果实现了则把相应的依赖设置到 bean 对象中。比如如果 bean 实现了 BeanFactoryAware 接口,Spring 容器在实例化bean的过程中,会将 BeanFactory 容器注入到 bean 中。 调用 BeanPostProcessor 前置处理方法,即 postProcessBeforeInitialization(Object bean, String beanName)。 检查 bean 对象是否实现了 InitializingBean 接口,如果实现,则调用

权限框架 基础知识

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-26 14:11:09
权限管理框架 属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源   包括用户身份认证和授权两部分,简称认证授权 1.身份认证 判断一个用户是否为合法用户的处理过程; 最常用的简单身份认证方式是系统通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户名和口令一致,来判断用户身份是否正确 2.授权管理 即访问控制,控制谁能访问哪些资源; 体进行身份认证后需要分配权限方可访问系统的资源,对于某些资源没有权限是无法访问的 3.权限控制 1)基于角色 RBAC基于角色的访问控制(Role-Based Access Control)是以角色为中心进行访问控制,比如:主体的角色为总经理可以查询企业运营报表,查询员工工资信息等,访问控制流程如下: 2)基于资源   RBAC基于资源的访问控制(Resource-Based Access Control)是以资源为中心进行访问控制,比如:主体必须具有查询工资权限才可以查询员工工资信息等,访问控制流程如下:   上图中的判断逻辑代码可以理解为:   if(主体.hasPermission("查询工资权限标识")){     查询工资   } 3)基于url拦截   企业中常用的权限管理方法,实现思路是:将系统操作的每个url配置在权限表中,将权限对应到角色

五分钟学Java:一篇文章搞懂spring和springMVC

浪尽此生 提交于 2020-03-26 09:46:12
原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 本文思维导图 什么是Spring,为什么你要学习spring? 你第一次接触spring框架是在什么时候?相信很多人和我一样,第一次了解spring都不是做项目的时候用到,而是在网上看到或者是听到过一个叫做spring的框架,这个框架号称完爆之前的structs和structs2,吸引了不少人的注意。 那么,spring到底有没有神奇呢,据记载,spring框架出现的时间是在2002年,当时的人们对于繁琐笨重的EJB框架诟病不已,而且对于structs这类框架也没有什么好感,这个时候spring从天而,救一大批Java开发者于水火之中。 让我们先看看百度百科对于spring的定义,Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。 ◆目的:解决企业应用开发的复杂性 ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 ◆范围:任何Java应用 Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。 spring框架解决了程序员在Java开发中长期存在的两个痛点

Spring Cloud 持续更新中

送分小仙女□ 提交于 2020-03-25 23:32:56
内容 微服务概述 SpringCloud概述 Rest微服务构建案例工程模块 Eureka服务注册与发现 Ribbon负载均衡 Feign负载均衡 Hystrix断路器 zuul路由网关 Config分布式配置中心 Sleuth服务跟踪 Stream消息驱动 Bus消息代理的集群消息总线 常见问题 什么是微服务 微服务之间是如何独立通讯的 Spring Cloud和Dubbo有哪些区别 对SpringBoot和SpringCloud的理解 什么是服务熔断?什么是服务降级? 微服务的优缺点?项目开发中碰到的坑 你所知道的微服务技术栈有哪些 eureka和zookeeper都可以提供服务注册与发现的功能,两者的区别是什么? 一、微服务概述 https://www.martinfowler.com/articles/microservices.html 微服务与微服务架构 通常而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务在其独立的自己的进程中,服务之间互相协同、互相配合,为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API,dubbo是基于RPC的)。每个服务围绕着具体业务进行构建,并且能够被独立部署到生成环境、类生成环境等。另外,应尽量避免统一的、集中式的服务管理机制