spring

Spring

2021-06-30  本文已影响0人  0012

 IOC

    1)、IOC:控制反转,对象的创建以及销毁交由Spring进行管理。

    2)、DI:依赖注入,Bean对象内所需的对象信息由Spring进行注入

Aop

    面向切面编程,在不修改原业务代码情况下增加新的功能,常用于日志打印,权限控制等。

    底层通过cglib动态代理实现。

依赖注入的方式

    1)、构造函数注入

    2)、Set方法注入

    3)、自动注入

cglib代理与jdk代理有什么区别

cglib代理是在字节码层面衍生出子类由子类实现。

JDK动态代理只能对实现了接口的类生成代理,而不能针对类。

SpringBean是否为单例的?如何设置为多例

默认scope为单例(singleton)

可通过在xml配置文件中Bean标签增加scope属性或者使用@Scope注解进行配置。

SpringBean的作用域都有哪些

singleton 单例:默认的,整个应用内只存在一个当前类的实例对象。

prototype 多例:每个请求都会创建一个新的类的实例对象,

基于Web的

request:每次请求都会创建一个新的Bean实例。

session:每一次回话都会创建一个新的Bean实例。

Spring常用注解

@Bean  用于方法上,方法返回对象实例交于Spring进行管理

@Configuration 用于类上,标明当前类为一个配置类。

@Service    

@Controller

@Component

@Scope 设置当前类对象作用域

@Lazy 设置当前类是否为懒加载

@Import 传入实现了ImportSelector接口

@CompoentScan 写入包后会扫描包下所有的注解

@Primary 如果存在两个实例例如实现了同一个接口的类 那么使用@Primary进行修饰那么就会优先使用当前Bean。

@Conditional 用于条件判断,类似于可针对不同的环境使用不同的数据源。

Springmvc常用注解

@RequestMapping 修饰请求地址

@RequestParam 请求参数常用于Get

@RequestBody 将请求Json转换为对象

@ResponseBody   将响应对象转换我Json串

@PathVariable 从请求连接内获取请求参数

@GetMapping get请求

@PostMaping post请求

@ControllerAdvice  全局异常捕获

SpringBean的生命周期?

待续

上一篇下一篇

猜你喜欢

热点阅读