一.IOC                                  

springmvc角色权限管理 spring 权限管理_业务逻辑

依赖注入DI

使用依赖注入实现控制反转,即上层控制下层。把底层类作为参数传递给上层类,实现上对下的控制

Spring IOC容器

    BeanFactory接口的简单容器

    ApplicationContext应用上下文

Spring中的Bean

    定义bean

        @Component Spring基础的注解,被spring管理的组件或bean.

        @Repository  用于持久层,数据库访问层,是用来直接访问数据库的。

        @Service 用于服务层,处理业务逻辑

        @Controller 用于呈现层,(Spring-MVC),暴露给前端的入口

注入Bean 

    @Autowired 默认是按照资源的类型(class)查找并注入的。

    @Resource 默认是按照资源的名称(name)查找并注入的。

    @Qualifier 采用@Autowired如果存在多个实现类的情况下,@Qualifer注        解通过资源名称确定唯一性

Bean的作用域

springmvc角色权限管理 spring 权限管理_springmvc角色权限管理_02

Spring Bean的加载过程

    Bean的加载逻辑

    转换 BeanName-->从缓存中加载实例-->实例化Bean-->

    检查parentBeanFactory-->初始化依赖的Bean-->创建Bean

二.约定编程

   

springmvc角色权限管理 spring 权限管理_spring security权限管理_03

三.AOP

AOP的优点

Spring AOP可以处理一些无法使用OOP实现的业务逻辑。其次,通过约定可以将一些业务逻辑织入流程中,并且可以将一些通用的逻辑抽离出来,然后给与默认实现,这样你只需要完成部分的功能就可以了。这样做可以使得开发者的代码更加简短,同时可维护性也得到提高。

AOP的术语

  • 连接点(join point ):对应的是具体被拦截的对象,因为spring只能支持方法,所以被拦截的对象往往就是指特定的方法。例如用户的插入insertUser()方法就是一个连接点,AOP通过动态代理技术把它织入到对应的流程中。
  • 切点(point cut):有时候,我们的切面不单单应用于单个方法,也可能是多个类的不同方法,这时,可以通过正则式和指示器规则去定义,从而适配连接点。切点就是提供这样一个功能的概念。
  • 通知(advice): 就是按照约定的流程下的方法,分为前置通知(before advice),后置通知(after advice),环绕通知(around advice),事后返回通知(afterReturning advice),异常通知(afterThrowing advice),它会根据约定织入流程中,需要弄明白它们在流程中的顺序和运行的条件。
  • 目标对象(target):即被代理对象,例如我们写的ServiceImpl服务层实现类的实例
  • 引入(introduction):是指引入新的类和其方法,增强现有Bean的功能。
  • 织入(weaving):它是一个通过动态代理技术,为原有服务对象生成代理对象,然后将与切点定义匹配的连接点拦截,并按照约定将各类通知织入约定流程的过程。
  • 切面(aspect):是一个可以定义切点,各类通知和引入的内容,spring aop通过它的信息来增强Bean的功能或者将对应的方法织入流程。