zoukankan      html  css  js  c++  java
  • Spring基础知识

    一.Spring基础

    1.Spring IOC

    IOC:控制反转也叫依赖注入,IOC利用java反射机制,AOP利用代理模式。所谓控制反转是指springIOC:将对象交给spring容器管理,只需要在spring配置文件总配置相应的bean,让spring容器来生成类的实例对象以及管理对象,实现低耦合。

    2.注入方式

       ①:Set注入      (常用)

       ②:构造器注入      (常用)

       ③:接口注入

       ④:静态工厂注入

     

    3.Bean

    2.1bean的作用域

     在Spring 容器当中,一共提供了5种作用域类型,在配置文件中,通过属性scope来设置bean的作用域范围。

     1.singleton(单例)

    <bean id="userInfo" class="cn.lovepi.UserInfo" scope="singleton"></bean> 
    

     2.prototype(多例)

    <bean id="userInfo" class="cn.lovepi.UserInfo" scope=" prototype "></bean>
    

     3.request

    <bean id="userInfo" class="cn.lovepi.UserInfo" scope=" request"></bean>
    

     4.session

    <bean id="userInfo" class="cn.lovepi.UserInfo" scope=" session"></bean>
    

     5.global session

    <bean id="userInfo" class="cn.lovepi.UserInfo" scope=" globalSession"></bean>
    

      

    3.2bean的生命周期

     - 初始化IOC容器 (应用启动时会初始化IOC容器)
     - 通过构造器或工厂方法创建bean的实例
     - 为bean的属性设置值或者对其它bean的引用
     - 调用bean设置的初始化方法
     - 使用bean
     - 容器关闭时,调用bean的销毁方法,然后关闭容器
    

      

    4.Bean的装配方式(1.xml配置文件装配,2.自动装配)

    4.1常用注解解释

    @Component   一般还有 @Controller,@Service,@Repository  都是加在类上面是指把这个类加入到SpringIOC容器中

    @ComponentScan("包的路径")  启用组件扫描

    @Configuration   标注在类上,相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文)

    @Bean   标注在方法上(返回某个实例的方法),等价于spring的xml配置文件中的<bean>,作用为:注册bean对象

    @AutoWired   自动注入,一般用于类注入到另一个类中

    4.2@AutoWired

      @AutoWired 自动注入,一般用于类注入到另一个类中

      1.直接变量添加注解

      2. 通过构造函数注入依赖

      3. 通过属性的Setter方法注入依赖

      4. 通过其他函数注入依赖

     

    2.Spring AOP

    2.1什么是AOP?

    AOP就是面向切面编程(aop)是使用动态代理的设计模式在执行方法前后或出现异常做加入相关逻辑。将程序运行过程分解成各个切面,Spring中AOP代理由Spring的IOC容器负责生成、管理,其依赖关系也由IOC容器负责管理,提取业务处理过程的切面,在这个切面中做我们一些处理,主要用日志记录,提供声明式事务管理,权限判断等。

    2.2核心原理:

     使用动态代理的设计模式在执行方法前后的切面做加入相关逻辑。

     

    2.3我们主要使用AOP来做:

            1、事务处理:执行方法前:开始事务、执行完成后关闭事务、出现异常后回滚事务

            2、权限判断:执行方法前,判断是否具有权限

            3、日志: 在执行前进行日志处理

     

  • 相关阅读:
    REST-framework快速构建API--生成Swagger接口文档
    Django后端彻底解决跨域问题
    Zabbix实战-简易教程--DB类--ClickHouse
    Django权限控制进阶
    django自定义rbac权限组件(二级菜单)
    jQuery事件委托
    model中的Meta类
    django中ModelForm解决多表单组合显示问题
    Django请求的生命周期
    AJAX
  • 原文地址:https://www.cnblogs.com/yui66/p/9805904.html
Copyright © 2011-2022 走看看