You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
obsidian-sync/日常学习/spring/spring/@Scope、@ImportResource、@Laz...

1.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

一、@Scope

用途配置Bean的作用域等效于bean xml中的bean元素scope属性 !Snipaste_2023-02-16_11-43-59.png 常见用法:

  1. 和@Compontent一起使用在类上
  2. 和@Bean一起标注在方法上

用法

1.和@Compontent一起使用在类上

!Snipaste_2023-02-16_11-46-22.png

2.和@Bean一起标注在方法上

!Snipaste_2023-02-16_11-46-50.png

二、@ImportResource

用途spring为了方便在注解方式中兼容老的xml的方式提供了@ImportResource注解来引入bean定义的配置文件 !Snipaste_2023-02-16_14-06-14.png

!Snipaste_2023-02-16_14-07-11.png

三、@Lazy

用途等效于bean xml中的bean元素的lazy-init属性实现bean的延迟初始化延迟初始化就是使用到的适合才会进行初始化 !Snipaste_2023-02-16_14-09-36.png

用法

1.和@Compontent一起使用

!Snipaste_2023-02-16_14-10-27.png

2.和@Configuration一起使用加在配置类上

@Lazy和@Configuration一起使用此时配置类中所有通过@Bean方式注册的bean都会被延迟初始化不过也可以在@Bean标注的方法上使用@Lazy来覆盖配置类上的@Lazy配置。

!Snipaste_2023-02-16_14-12-46.png