spring笔记

spring笔记

Spring家族

为什么你在controller层中直接使用一个@Autowire注解就能调用service层的属性和方法? 这个功劳就要归功于spring IOC容器,我们在service层加上@Service注解,那么这个类就会被添加到IOC容器中,这个类的实例化就交给Spring IOC容器管理,当另外一个类需要使用这个类的属性和方法直接注入即可。(@Controller、@Service、@Reposity 都是@Component的扩展类,添加上这些注解都能把对象添加到spring IOC容器中,IOC容器会把这些类进行统一管理,进行实例化,自己不需要进行new操作了)

1、Java面向对象,对象有方法和属性,那么就需要对象实例来调用方法和属性(即实例化);
2、凡是有方法或属性的类都需要实例化,这样才能具象化去使用这些方法和属性;
3、规律:凡是子类及带有方法或属性的类都要加上注册Bean到Spring IoC的注解;
4、把Bean理解为类的代理或代言人(实际上确实是通过反射、代理来实现的),这样它就能代表类拥有该拥有的东西了
5、我们都在微博上@过某某,对方会优先看到这条信息,并给你反馈,那么在Spring中,你标识一个@符号,那么Spring就会来看看,并且从这里拿到一个Bean或者给出一个Bean

Spring AOP主要做的事情就是:「把重复的代码抽取,在运行的时候往业务方法上动态植入“切面类代码”(公共的代码)」
就比如:我现在要向数据库中保存一个用户信息(只有这一个重点代码),在保存的过程中,我要开启事务,提交事务,回滚事务,但是这些代码是公共的,我们可以把他们贴出来交给spring进行管理,这些代码就是称作为"切面类代码"。这样每次运行添加操作时候,可以省去这些开启事务,提交事务,回滚事务的代码,在运行的过程中动态的植入公共代码,提高系统的运行效率。这就是我们在springBoot项目中只需要一个简单的@Transaction注解就能搞定事务一样,他的逻辑代码全被交给了spring进行管理,省去了好多繁琐的操作。

在这里插入图片描述

spring六大模块

Spring可以分为6⼤模块:

Spring Core spring的核⼼功能: IOC容器, 解决对象创建及依赖关系

Spring Web Spring对web模块的⽀持。
可以与struts整合,让struts的action创建交给spring
spring mvc模式

Spring DAO Spring 对jdbc操作的⽀持 【JdbcTemplate模板⼯具类】

Spring ORM spring对orm的⽀持:
既可以与hibernate整合,【session】
也可以使⽤spring的对hibernate操作的封装

Spring AOP 切⾯编程

SpringEE spring 对javaEE其他模块的⽀持

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值