ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spring

2021-11-27 13:01:07  阅读:105  来源: 互联网

标签:Spring Bean 应用 使用 注解 ElementType


day01

@PostConstruct 注解

会在启动时,所有依赖都已经注入之后,会调用这个方法 (一般用于在你的业务逻辑执行前,Spring的依赖注入执行后,添加一段业务逻辑)

比如:你想在依赖注入后,你执行一个业务之前,还想调用某个方法或者进行某种运算以便你的业务使用,就可以使用这个注解

@PostConstruct
void xxxx(){}

@PreDestroy注解

在关闭时,在销毁Bean实例之前,会调用这个方法,例如关流或者在销毁前要关闭某些东西,在这里处理会比较方便(有助于释放资源和清理)

@PreDestroy
void xxxx(){}

@Stereotype注解

说明:

是 Spring框架的注解

@Service业务类

@Repository数据访问类

@Controller 和 @RestController 是 web类 (SpringMVC)

@Configuration java配置

而以上这5种注解,其实底层都是@Component注解 之所以一样的功能要叫不同的名字,就是为了方便分层

而这些注解,统称为 @Stereotype注解

@Meta(自定义注解)

使用@Target描述注解存在的位置
ElementType.TYPE 应用于类的元素
ElementType.METHOD 应用于方法级
ElementType.FIELD 应用于字段或属性(成员变量)
ElementType.ANNOTATION_TYPE 应用于注解类型
ElementType.CONSTRUCTOR 应用于构造函数
ElementType.LOCAL_VARIABLE 应用于局部变量
ElementType.PACKAGE 应用于包声明
ElementType.PARAMETER 应用于方法的参数
使用@Retention注解描述这个自定义注解的生命周期(被保留的时间的长短)
SOURCE 在源文件中有效(即源文件保留)
CLASS 在class文件中有效(即class保留)
RUNTIME 在运行时有效(即运行时保留)

注解补充

之所以有的注解,例如@Override重写注解,可以写可以不写,效果一样,但是有的注解必须写, 就因为这个Meta

总结:

定义Spring Bean的方式:

显示的:使用@Bean方法

隐式的:使用@Component 和组件扫描 ( @componentScan("") )

大部分应用程序中使用 自己的写的类使用隐式的 其他的类使用显式的

进行初始化和清理

使用:@PostConstruct 和 @PreDestroy

@Autowired

说明:

将使用IOC保存在容器中的Bean对象注入某个属性或者字段中

用法:

可以使用在构造方法上,并且有几个参数就可以注入几个参数,可以注入多个参数(推荐使用在构造方法上) 必须存在唯一的匹配类型的依赖

可以使用在方法上,

可以使用在字段上

注意:不能使用在类上!

自动装配/自动布线 也叫依赖注入 相当于别名

规则:

查找与所需类型匹配的唯一Bean

如果提供了@Qulifer则尝试根据名称查找匹配的Bean

标签:Spring,Bean,应用,使用,注解,ElementType
来源: https://blog.csdn.net/WRSR52/article/details/121574607

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有