spring5

spring5

孙哥说视频:https://www.bilibili.com/video/BV185411477k?p=166

之前笔记见:孙哥说Spring5 全部更新完毕 完整笔记

第p166后:

第二章、Spring基础注解(2.x)

2、注入相关注解

JDK类型

@Value
1.设置xxx.properties
	id = 10
	name = suns
2.Spring的工厂读取这个配置文件
	<context:property-placeholder location=""/>
3.代码
	属性@Value("$key")
  • @Value
    在这里插入图片描述

  • @PropertySource

1.作用用于替换Spring配置文件中的<context:property-placeholder location=""/>
2.开发步骤:
	1、设置xxx.properties
	  id = 10
	  name = suns
	 2.应用@PropertySource
	 3.代码
	   属性@Value()
eg:@PropertySource("classpath:/init.properties")
    @Value("${name}")
    String name

@Value注解使用细节

  • @Value注解不能引用在静态成员变量上

    如果应用,赋值(注入)失败

  • @Value注解+Properties这种方式,不能注入集合类型

    Spring提供新的配置形式YAML YML(SpringBoot)

3、注解扫描详解

<context:component-scan base-package="com.baizhied"/>
当前包 及其 子包

1.排除方式
在这里插入图片描述

2.包含方式

20210105200403787

叠加方式可以是相同类型也可以是不同类型的type , 上面只扫描包含type的类型

4.对于注解开发的思考

  • 配置互通

20210105200824393

  • 什么情况下使用注解什么情况下使用配置文件

在这里插入图片描述

5.SSM整合开发(半注解开发)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第三章、Spring的高级注解(Spring3.x及以上)

1、配置Bean

在这里插入图片描述

2.AnnotationConfigApplicationContext(使用注解方式后的工厂)
在这里插入图片描述

  • 配置Bean开发的细节分析

    基于注解开发使用日志

    不能使用Log4j
    集成logback
    
    • 引入相关jar

在这里插入图片描述

  • 引入logback配置文件(logback.xml)
    在这里插入图片描述

  • @Configuration本质是@Component

2、@Bean注解

在这里插入图片描述

  • 自定义id值

    @Bean(“id”)

  • 控制对象创建次数

在这里插入图片描述

2、@Bean注解的注入

  • 用户自定义类型

在这里插入图片描述

jdk类型注入

在这里插入图片描述

3、@ComponentScan

在这里插入图片描述

排除扫描:

在这里插入图片描述

包含:

在这里插入图片描述

4、Spring工厂创建对象的多种范式配置方式

1.多种配置方式的应用场景

在这里插入图片描述

2.配置优先级

在这里插入图片描述

  • 解决基于注解进行配置的耦合问题

在这里插入图片描述

通过在新建立的AppConfig5上加上@ImportResource来指定配置文件,然后在启动时加入新增的类或使用包的方式确保能被扫描到即可。

在这里插入图片描述

5、整合多个配置信息

1、多个配置bean的整合
  • 为什么会有多个配置信息

    拆分多个配置bean的开发,是一种模块化开发的形式,也体现了面向对象各司其职的设计思想

在这里插入图片描述

在这里插入图片描述

@Import

1.可以创建对象
2.多配置bean的整合

在这里插入图片描述

  • 在工厂创建时,指定多个配置Bean的Class对象【了解】
ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig1.class,ApplConfig2.class);
  • 跨配置进行注入
    在这里插入图片描述

在这里插入图片描述

2.配置Bean与@Component相关注解的整合

在这里插入图片描述

3、配置Bean与配置文件整合

在这里插入图片描述

6、配置Bean底层实现原理

1 Spring在配置Bean中加入@Configuration注解后,底层就会通过Cglib的代理方式,来进行对象相关的配置,处理

在这里插入图片描述

7、四维一体的开发思想

1.什么是四维一体
Spring开发一个功能的4中形式,虽然开发方式不同,但是最终效果是一样的
1.基于schema
2.基于特定功能注解
3.基于原始bean
4.基于@Bean注解
2.四维一体的开发案例
1.<context:property-placeholder
2.@ProperySource [推荐]
3.<bean id="" class="PropertySourcePlaceholderConfigure"/>
4.@Bean		[推荐]

在这里插入图片描述

在这里插入图片描述

方式一 <context:property-placeholder

在这里插入图片描述

方式二,基于注解方式 @ProperySource [推荐]

在这里插入图片描述

方式三
在这里插入图片描述

方式四 @Bean [推荐]

在这里插入图片描述

8、纯注解版 AOP编程

1、搭建环境

1.应用配置Bean
2.注解扫描

2.开发步骤

在这里插入图片描述

在这里插入图片描述

3.注解AOP细节分析

proxy-target为true时使用Cglib代理,默认是否false(使用JDK代理)
在这里插入图片描述

9、纯注解版Spring+MyBatis整合

  • 基础配置(配置Bean)

在这里插入图片描述

在这里插入图片描述

  • 编码

    1.实体
    2.表
    3.DAO接口
    4.Mapper文件
    

在这里插入图片描述

在这里插入图片描述

Resource[]配置多个文件的形式

10、纯注解版事务编程

在这里插入图片描述

在这里插入图片描述

11、Spring框架中YML的使用

1.什么是YML

在这里插入图片描述

2.Properties进行配置问题
1.Properties表达过于繁琐,无法表达数据的内在联系
2.Properties无法表达对象 集合对象
3.YML语法简介

在这里插入图片描述

4.Spring与YML集成思路的分析

在这里插入图片描述

在这里插入图片描述

5.Spring与YML集成编码
  • 环境搭建

在这里插入图片描述

  • 编码
1.准备yml配置文件
2.配置Bean中操作 完成YML读取 与PropertySourcePlaceholderConfigure的创建
3.类 加入@Value注解

在这里插入图片描述

6. Spring与YML集成的问题
1.集合处理的问题
	SpringEL表达式解决
	@Value("#{'${list}'}.split(',')")
	
2.对象类型的YML进行配置时 过于繁琐
	@Value("${account.name}")
	
SpringBoot的 @ConfigurationProperties 可以解决上面的问题
mg-NYCkbG2H-1610002298307)]

- 编码

1.准备yml配置文件
2.配置Bean中操作 完成YML读取 与PropertySourcePlaceholderConfigure的创建
3.类 加入@Value注解


​    [外链图片转存中...(img-9ZVc5Uyf-1610002298307)]

#### 6. Spring与YML集成的问题

```markdown
1.集合处理的问题
	SpringEL表达式解决
	@Value("#{'${list}'}.split(',')")
	
2.对象类型的YML进行配置时 过于繁琐
	@Value("${account.name}")
	
SpringBoot的 @ConfigurationProperties 可以解决上面的问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值