spring

框架作用:

​ 1.增强可重用性

​ 2.提供编写规范

​ 3.解耦底层实现原理

​ 等等

Spring体系结构

Core Container核心容器

​ Beans

​ Core

​ Context

​ SpringEL表达式

中间层技术:

​ AOP

​ Aspects

应用层技术:

​ 数据访问与数据集成 data access/

​ Web集成

​ Web实现

基于Test测试

低耦合和高内聚

​ 模块之间低耦合

​ 模块内部高内聚

工厂模式

​ 1.应用程序------->资源

​ 2.应用程序----->工厂------->资源

​ 3.应用程序----->工厂-------->配置文件------->资源

​ -----------------------------

​ Spring雏形

IOC(Inversion Of Control):控制反转

IOC模式:IOC容器:Spring控制资源

​ 传统模式:应用程序控制资源

Spring:管理单例的IOC容器

工厂创建bean方式:

​ 静态工厂创建bean

​ 实例工厂创建bean

bean的属性:

​ id:唯一标识

​ name:起别名

​ scope:对象是否是单例

DI和IOC:同一件事的两个不同角度的描述

DI:依赖注入

由。。。构造:

​ :ref关联实体bean,一般用于引用类型

​ :value可以直接传值,一般用于基本数据类型

由构造器构造:

注解开发

​ @Component(""):(哪个层都可以用) 加在类定义上方

​ 等价:@Controller(控制层) @Service(服务层) @Repository(数据层)

​ 第三方:@Bean

​ @Primary:提高类加载的优先级,适用于同一接口不同实现类的优先加载

​ @Scope(""): 加在类定义上方

bean的生命周期:

​ @PostConstruct: 加在成员方法上方

​ @PreDestroy: 加在成员方法上方

非引用类型的属性注入:

​ @Value("${}"):可以写在成员变量上,也可以写在set方法上(为简化代码,set方法可以不写)

引用类型的属性注入:

​ @Autowired:自动装配

​ @Qualifier("${}"):区别同一接口的不同实现类

加载properties文件:

​ @PropertySource(""):加在类上,如果要加载多个properties文件,可以传个数组("{’’,’’,’’,’’…}")

启动注解驱动 :指定对应的扫描路径,也就是资源所在的包(“com.itheima”)

​ 方式一:(配置文件)

<context:component-scan base-package="com.itheima"/>

​ 方式二:(注解)

​ @ComponentScan(“com.itheima”)

设置当前类为spring核心配置加载类:

​ @Configuration:加在类定义上方

​ @ComponentScan("")

依赖加载:

​ @DependsOn(" ")

配置类加载顺序:

​ @Order(1/2/3/…)

延迟加载:

​ @Lazy 控制加载时机,可以在用到这个类时再加载这个类,用时再加载,比如说商场的,先要加载商品相关的数据,再加载订单业务,所以可以给订单业务设置延迟加载

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值