Spring框架

一.简介

Spring 是 2003 年兴起,通过使用IOC 和 AOP 组成的轻量级的为解决企业级开发的Java开发框架

官网:Spring | Home

特点:

1.轻量级:资源jar包少,运行时框架占用资源少,效率更高

2.IOC(Inversion of Control),由Spring容器来对对象实行管理

3.AOP(面相切面的编程)是一种思想,对面向对象编程(OOP)的一种补充,将程序插入各切面

4.一站式框架 本身提供数据访问功能和web功能,可以管理其他框架

体系结构

Spring框架_第1张图片

 二.搭建

1.Maven导入核心jar包

Spring.jar包


org.springframework
spring-context
5.2.2.RELEASE

对Spring文件进行配置

spring配置文件


 

IOC(控制反转)

将手动创建对象交给Spring框架来进行并管理,IOC容器是具有依赖注入功能的容器,负责对象的实例化和初始化,对象间的依赖关系,销毁,对外提供查找等操作,生命周期由框架控制,使用时只需要获取要使用的对象,不关心创建过程Spring框架_第2张图片

 配置方式有两种:

1.基于XML进行配置

bean 配置需要 spring 管理的类

id 生成的对象名

class 全类名

name 对象别名,可以为多个

scope:

singleton(默认值):在 Spring 中只存在一个 bean 实例, 单例模式.

prototype:原型 getBean()的时候都会 new Bean()

request:每次 http 请求都会创建一个 bean, 仅用于 WebApplicationContext 环境

session:同一个 http session 共享一个 Bean, 不同 Session 使用不同的 Bean, 使用环境同

2.注解标签实现

导入Spring aop jar包

 

注解创建对象

@Component(value=“user”)

@Service

@Repository

为后续拓展会使用不同的注解标记

@Scope(value=“prototype”) 原型

@Scope(value=“ singleton ”)单型

注解注入属性

@Autowired :是 Spring 提供的注解,可以写在字段和 setter 方法上。如果写在 字段上,那么就不需要再写 setter 方法。默认情况下它要求依赖对象必须存在, 如果允许 null 值,可以设置它的 required 属性为 false。

byType 自动注入: 该注解默认使用按类型自动装配 Bean 的方式。

byName 自动注入: 如果我们想使用按照名称(byName)来装配,可以结合@Qualifier 注解一起 使用。

需要在引用属性上联合使用注解@Autowired 与@Qualifier。@Qualifier 的 value 属性用于指定要匹配的 Bean 的 id 值。

JDK 注解@Resource 自动注入: Spring 提供了对 jdk 中@Resource 注解的支持。@Resource 注解既可以按名 称匹配 Bean,也可以按类型匹配 Bean。默认按照 ByName 自动注入

byName 注入引用类型属性: @Resource 注解指定其 name 属性,则 name 的值即为按照名称进行匹配 的 Bean 的 id。

你可能感兴趣的:(spring,java,后端)