Spring基础

本文介绍了Spring框架的发展历程,从1.x版本的XML配置到2.x版本引入的注解配置,再到3.x版本的Java配置能力。详细阐述了依赖注入(DI)和控制反转(IoC)的概念,以及Spring如何通过不同配置方式管理Bean。同时,文章还深入讲解了声明Bean的注解和注入Bean的注解,以及如何使用Java配置。

1.1Spring概述

Spring的历史
第一阶段
Spring1.x阶段,使用的都是xml配置的Bean,随着项目的扩大,需要把xml文件放在不同的配置文件里,频繁的切换配置文件有点不方便。
第二阶段
在spring2.X阶段,由于JDK1.5支持注解开发,spring也提供了声明Bean的注解。两个方式都有自己的好处,就比如我们的基本配置用xml,比如数据库配置,业务配置用注解。
第三阶段
在spring3.x阶段到现在,spring支持Java配置能力
Spring的简述
在这里插入图片描述
上面是Spring的模块,每个模块都有与之对应的jar包
(1)Core Container
Spring-Core:核心工具包,其他模块使用到这包
Spring-Bean:Spring对定义Bean支持的包
Spring-Context:运行时Spring容器
Spring-Context-Support:Spring容器对第三方包的集成支持
Spring-Expression:使用表达式语言在运行时查询和操作对象
(2)AOP
Spring-aop:基于代理的AOP支持
Spring-Aspects:基于AspectJ的AOP支持
(3)Web
Spring-Web:提供基础的WEB集成功能
Spring-Webmvc:提供基于Servlet的SpringMvc
(4)Messaging
Spring-Messaging:对消息架构和协议的支持
(5)数据集成
Spring-JDBC:提供以jdbc访问数据库的支持
Spring-TX:提供编程式和声明式的事务支持
Spring-ORM:提供对象关系映射支持
Spring-OXM:提供对对象/XML映射技术支持
Spring-JMS:提供对JMS的支持

1.2 Spring基础配置

Spring框架的原则
使用POJO进行轻量级和最小侵入式开发。通过依赖注入和基于接口编程。使用AOP和模板减少模式化代码。

1.2.1依赖注入

依赖注入(dependency injection)DI
控制翻转(Inversion of control)IOC
控制翻转是通过依赖注入来实现的。依赖注入就是容器负责创建对象以及维护对象之间的依赖关系,而不是对象本身负责自己的创建和解决自己的依赖。

Spring IOC容器负责创建Bean,并通过容器将功能类Bean注入到你所需要的Bean。
Spring提供了多种方式实现Bean的创建和注入。比如:xml、注解、Java配置
无论是xml配置、注解配置还是Java配置,都被称之为配置元数据。也就是说我们配用了何种配置方式,都是为了配置元数据。所谓的元数据描述的是数据的数据。元数据本身不具备任何可执行能力,只能通过外接代码来对这些元数据进行解析后进行一些有意的操作。就比如:配置数据库信息
Spring容器解析这些配置元数据进行Bean初始化、配置和依赖管理。
来看看声明Bean的注解:
@Component:组件 这个注解是一个比较模糊的注解,没有明确的角色
@Repository:用在数据访问层上,也就是Dao层
@Service:用于业务逻辑层,service层
@Controller:用于展现层上
注入Bean注解
@AutoWired:Spring提供的注解
@Inject:JSR-330提供的注解
@Resource:JSR-250提供的注解
这三个注入Bean的注解能够用于set上也可以用于属性上

当我在一个类上声明了@Componet、@Repository、@Service、@Controller中的一个注解,说明当前类是由Spring容器来管理的一个Bean

@Service
public class FuntionService(){
	
}
@Service
public class useFunctionSerivce(){
	@AutoWried
	FunctionService functionService;
}

使用@AutoWired能够把FunctionService的实体Bean注入到UseFunctionSerivce中
,这个时候在UseFunctionSerivce就能够使用functionService的实体。

@Configuration
这个注解声明这个类是一个配置类
在配置类在红声明@ComponentScan(“包名”)
会自动扫描这个包下,所有使用了@Component、@Repository、@Service、@Controller的类,注册成Bean

使用AnnotationCongifApplicationContext作为Spring容器,传入一个配置类作为参数。

1.2.2Java配置

Java配置是Spring4.X推荐的配置方式,可以完全替代xml的配置
Java配置同样也是Spring Boot的推荐的配置方式

Java配置是通过@Configuration 和@Bean来实现的
@Configuration 声明当前类是一个配置类,相当于Spring配置的XML文件
@Bean注解在方法上,声明当前方法返回值为一个Bean

我们在全局配置上使用Java配置,在业务上使用注解配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值