Spring学习笔记

spring是什么?

 IoC控制反转和DI依赖注入

 

IOC入门案例

 

DI入门案例

 

实例化bean的四种方式

方式一:构造方法实例化bean,调用无参的构造方法来实例化bean,无参的构造方法可写可不写,并且不论构造方法是公共的(public)还是私有的(private)都能成功执行,所以内部采用的是反射技术。(常用) 

 

方式二:使用静态工厂实例化bean,提供一个静态工厂,此时class配置配置工厂类名,还要配置工厂中真正用来造对象的方法名(了解)

使用工厂造对象的方式(早些年做程序常用的方式,造对象不要自己new,用工厂的方式做一定的解耦)

 

通过Spring来管理静态工厂 

 

 方式三:使用实例工厂实例化bean(了解)

返回值类型UserDao是非静态的

 

 

 通过Spring来管理实例化工厂

 

方法四:(方式三的升级版)使用FactoryBean实例化bean(重点,必须掌握)

 

 

这个不用改

 

bean的生命周期控制

生命周期的控制(使用配置的格式)

生命周期的控制(使用接口)

 

 

 

DI依赖注入方式:

  • setter注入(set方法注入)

                配置中使用property标签ref属性注入引用类型对象

                配置中使用property标签value属性注入简单类型数据

 

 

  • 构造器注入 (构造方法注入)

                配置中使用constructor-arg标签ref属性注入引用类型对象

                配置中使用constructor-arg标签value属性注入简单类型对象

 

  •  自动装配

                自动装配用于引用类型依赖注入,不能对简单类型进行操作

 

 

 

 

 加载properties文件

 

Spring容器的创建及bean的获取方式

注解开发定义bean

Spring提供@Component注解的三个衍生注解

        @Controller: 用于表现层bean定义

        @Service:用于业务层bean定义

        @Repository:用于数据层bean定义

 组件里面加名字,调用bean的时候用名字调用

 组件里面不写名字,调用bean的时候用类型调用

 Spring纯注解开发

使用@Configuration注解代表配置类,就不需要再有配置文件了 ,然后使用@ComponentScan设定扫描路径。

 纯注解开发如何控制生命周期与bean的作用范围

使用@Scope定义bean作用范围(设置单例与非单例)

使用@PostConstruct、@PreDestory定义bean生命周期

 纯注解开发的依赖注入

  • 自动装配:

一:使用@Autowired注解开启自动装配模式(按类型)

注意:自动装配基于反射设计创建对象并暴力反射对应属性为私有属性初始化数据,因此无需提供setter方法

二:使用@Qualifier注解开启指定名称装配bean

注意:@Qualifier注解无法单独使用,必须配合@Autowired注解使用

三:使用@Value实现简单类型注入

  • 读取properties文件:

使用@PropertySource加载properties文件

注解开发管理第三方bean

第三方Bean的声明使用@Bean

第三方Bean依赖注入

  •  引用类型:方法形参
  •  简单类型:成员变量

第三方Bean的加载方式

 Spring整合Mybatis?

第一个Bean负责创建SqlSessionFactoryBean对象,扫描类型别名的包,配置环境数据源,数据源对象通过注入的形式加进来的

第二个Bean负责映射配置,设置扫描映射的包

Spring整合Junit

@RunWith设定Spring整合Junit的专用类运行器

@ContextConfiguration指定Spring上下文的配置类在哪里 

 SpringAOP

AOP入门案例:

 

 

 

 

 AOP通知类型

只有当方法没有抛异常,正常结束时@AfterReturning(返回后通知)才会运行,而@After(后置通知)在方法抛异常时也能运行。

只有方法抛出异常后@AfterThrowing(抛出异常后通知)才会运行,方法正常时不会运行。

 

 AOP总结

Spring事务 

SpringMVC学习

 后期开发中@EnableWebMvc也要写上,它代表的功能很多

SSM整合

 拦截器与过滤器

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值