spring笔记

文章目录

  • spring笔记
    • Spring家族
    • spring六大模块

spring笔记

Spring家族

  • spring中什么是bean?

为什么你在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

  • 理解springIOC和spirngAOP (3y)

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

spring笔记_第1张图片

  • springIOC知识一网打尽(3y)

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其他模块的⽀持

spring笔记_第2张图片

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