栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring5学习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring5学习笔记

Spring5
    • Spring
      • 一、Spring IOC创建对象的方式
          • 1、使用该对象的无参构造方法(默认创建方式,依赖set方法)
          • 2、如果要使用有参构造创建对象(不依赖set方法)
          • 3、Spring加载beans.xml时,所有注册的对象都会被创建,且是单例模式
      • 二、Spring-Setter
          • 1、别名
          • 2、bean的配置
          • 3、import
      • 三、依赖注入
          • 1、构造器注入
          • 2、Set方式注入
          • 3、拓展方式注入
          • 4、bean的作用域
      • 四、Bean的自动装配
          • 自动装配是Spring满足bean依赖的一种方式
          • Spring会在上下文中自动寻找,并自动给bean装配属性
          • Spring的三种装配方式
          • 测试自动装配
          • 总结:
          • 使用Java的方式配置Spring (Java Config)
      • 五、代理模式
          • 1、角色分析:
          • 2、代理模式的优劣:
          • 3、动态代理
      • 六、AOP

Spring 一、Spring IOC创建对象的方式 1、使用该对象的无参构造方法(默认创建方式,依赖set方法) 2、如果要使用有参构造创建对象(不依赖set方法)
    (1)下标赋值
            
                
            
    (2)类型赋值
            
            
                
            
    (3)按形参名赋值
            
                    
            
3、Spring加载beans.xml时,所有注册的对象都会被创建,且是单例模式 二、Spring-Setter 1、别名
    
    
2、bean的配置
    id:唯一标识符
    class:指定类
    name:别名,比alias更好用,可以取多个别名,用空格、分号、逗号隔开
3、import
    多用于团队开发,合并多个配置文件     
三、依赖注入 1、构造器注入
见一、2
2、Set方式注入
依赖:bean对象的创建依赖于容器
注入:bean对象的所有的属性,由容器来注入
3、拓展方式注入
p命名空间

     
c命名空间


4、bean的作用域
(1)单例模式,Spring默认机制,相同对象共用一个对象
    显试标明:在bean标签中加入scope="true"
(2)原型模式,每次在容器中get,都会创建一个新对象
    scope="prototype"
(3)其余的request、session、application只能在web可开发中使用到
四、Bean的自动装配 自动装配是Spring满足bean依赖的一种方式 Spring会在上下文中自动寻找,并自动给bean装配属性 Spring的三种装配方式
    (1)Xml中显式配置
    (2)Java中显式配置
    (3)隐式自动装配*
测试自动装配
    (1)ByName自动装配
            
            
    (2)byType自动装配
            
            
    (4)使用注解自动装配
         a、导入约束:
            xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd">
            b、配置注解的支持:
            c、@Autowired直接在属性在加,也可以在set上加
            d、使用Autowired可以不用编写set方法,前提是这个属性IOC容器中存在
            e、当注入在IOC容器中该类型只有一个时,就通过byType,当容器中存在多个同一类型对象时,就通过byName(此时要用@Qualifier(value="bean id"))
            f、@Resource和@Autowired都是自动装配,Autowired是先byType,但Resource是默认先byname
    (5)@Component加在类前面,说明被Spring接管了,再在bean.xml中加入    ,就可以自动扫描接管,用小写的类名取用对象
    (6)@Component有几个衍生注解(即等价的注解,只是名字不一样,仅用于区分使用的地方):
            a、dao:【@Repository】   
            b、service:【@Service】
            c、controller:【@Controller】
            d、bean:【@Component】
    (7)使用注解标注单例或多例:@Scope()
总结:
xml与注解:
    xml更加万能,适用于任何场景,维护简单方便
    注解不是自己的类是用不了,维护相对复杂
最佳实践:
    xml用来管理bean
    注解只负责属性的注入
    使用过程中,只需要注意:必须要让注解生效,就需要开启注解支持:
            
            
使用Java的方式配置Spring (Java Config)
即完全不适用Spring的xml配置,完全交给Java
    /申明是配置类
    @Configuration
    //自动扫描,默认开启
    @ComponentScan("com.pzb.pojo")
    //合并配置
    @import(PzbConfig2.class)
    public class PzbConfig {
    
        //注册一个bean,相当于xml中的bean标签
        //方法名相当与xml中bean标签中的id
        //这个方法中的返回值类型,就相当于标签中的class
        @Bean
        public User User(){
            User user = new User();
            user.setName("111");
            System.out.println("1");
            return user;//返回要注入的对象
        }
    }
五、代理模式 1、角色分析:
抽象角色:一般会使用接口或者抽象来解决
真实角色:被代理的角色
代理角色:代理真实角色,代理真实角色之后,我们一般会做一些附加操作
客户:访问代理对象的人
2、代理模式的优劣:
优点:
    (1)、可以使真实角色更加纯粹,不用关心公共业务
    (2)、公共业务交给代理角色,实现业务的分工
    (3)、公共业务发生拓展,方便集中管理
    (4)、一个动态代理类,代理的是一个接口,一般是就对应的一类业务
    (5)、一个动态代理类可以代理多个类,只要实现同一个接口
缺点:
    (1)一个真实角色就会产生一个代理,代码量会翻倍
3、动态代理
动态代理和静态代理角色是一样的
动态代理类是动态生成的,不由我们写
动态代理分为两大类:基于接口的动态代理,基于类的动态代理
    基于接口--JDK动态代理*
    基于类:cglib
    Java字节码实现:Javasist
需要了解的两个类:Proxy,InvocationHandler:调用处理程序
    proxy:提供创建动态代理类的(静态)方法
    invocationhandler:处理代理实例,返回结果
六、AOP
       1、导入包
            
                org.aspectj
                aspectjweaver
            
        2、Spring实现AOP
            (1)方式一,使用Spring的接口
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/292548.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号