前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一篇全了解Spring全注解详解

一篇全了解Spring全注解详解

作者头像
陶然同学
发布2023-02-24 09:40:00
2130
发布2023-02-24 09:40:00
举报
文章被收录于专栏:陶然同学博客

目录

用于创建对象

        1.Component              

        2.Controller

        3.Service

        4.Repository

用于注入数据

        1.Autowired

        2.Qulifier

        3.Resource

        4.Value            

用于改变作用范围

        1.Scope               

和生命周期相关

        1.PreDestroy

        2.PostConstruct

配置类

        1.Configuration                              

        2.ComponentScan                

        3.Bean               

        4.PropertySource             

        5.EnableTransactionManagement   

        6.EnableAspectJAutoProxy           

        7.Transaction

        8.Aspect    

整合Junit

                1.RunWith(SpringRunner.class)

                2.ContextConfiguration      


用于创建对象

        1.Component              

 作用:用于把当前类对象存入spring容器中

                属性:

                value:用于指定bean的id 当我们不写时 它默认是当前类名 首字母改小写

        2.Controller

                用于表现层

        3.Service

                用于业务层

        4.Repository

                用于持久层

用于注入数据

        1.Autowired

                作用:

                自动按照类型注入 只要容器中有唯一一个bean对象类型和要注入的变量类型匹配 就

                可以注入成功

                如果ioc容器中没有任何bean的类型和要注入的变量类型匹配 则报错

                如果ioc容器中有多个bean类型 则按照变量名注入

                出现位置:

                可以是变量上 也可以是方法上

                细节:

                在使用注解注入时 set方法就不是必须的

        2.Qulifier

                作用:

                在按照类中注入的基础之上再按照名称注入 它在给类成员注入时不能单独使用 但是

                在给方法参数注入时可以

                属性:

                value:用于指定注入bean的id

        3.Resource

                作用:

                直接按照bean的id注入 它可以单独使用

                属性:

                name用于指定bean的id

        4.Value            

                作用:

                用于注入基本类型和String类型的数据

                属性:

                value:用于指定数据的值 它可以使用spring中SpEl(也就是spring的el表达式)

                SpEl的写法:${表达式}

用于改变作用范围

        1.Scope               

                作用:

                用于指定bean的作用范围

                属性:

                    value指定范围的取值 常用取值 singleton prototype

和生命周期相关

        1.PreDestroy

                作用:

                    用于指定销毁方法

        2.PostConstruct

               作用:

                    用于指定初始化方法

配置类

        1.Configuration                              

             作用:

             指定当前类是一个配置类

        2.ComponentScan                

                作用:

                用于通过注解指定spring在创建容器时要扫描的包

                属性:

                value:它和basePackages的作用时一样的 都是用于创建容器时要扫描的包

                细节:

                当配置类作为AnnotationConfigApplicationContext对象的参数时 该注解可以不写

        3.Bean               

                作用:

                用于导入其他的配置类

                属性:

                用于指定其他配置类的字节码

                当我们使用Import的注解之后 有Import注解的类型就是父配置类 而导入的都是子配置类

        4.PropertySource             

                作用:

                用于加载.properties文件中的配置                 属性:

                value[]:用于指定properties文件位置 如果是在类路径下 需要写上classpath

                细节:

               必须是从spring容器获取的才能注入 new的对象跟spring没有任何关系

        5.EnableTransactionManagement   

                作用:

                    配置类开启事务支持

        6.EnableAspectJAutoProxy           

                作用:

                    配置类开启切面

        7.Transaction

                作用:

                    控制事务提交/回滚 作用于类上

        8.Aspect    

                作用:

                    声明这个类是一个切面类

整合Junit

                1.RunWith(SpringRunner.class)

                        使用Junit提供的一个注解把原有的main方法替换了 替换成spring提供的@Runwith

                2.ContextConfiguration      

                        locations:指定xml文件的位置 加上classpath关键字 表示在类路径下

                        Classes:指定注解类所在地位置

                        当我们使用spring 5.x版本的时候 要求junit的jar必须4.12及以上

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 用于创建对象
    •         1.Component              
      •         2.Controller
        •         3.Service
          •         4.Repository
          • 用于注入数据
            •         1.Autowired
              •         2.Qulifier
                •         3.Resource
                  •         4.Value            
                  • 用于改变作用范围
                    •         1.Scope               
                    • 和生命周期相关
                      •         1.PreDestroy
                        •         2.PostConstruct
                        • 配置类
                          •         1.Configuration                              
                            •         2.ComponentScan                
                              •         3.Bean               
                                •         4.PropertySource             
                                  •         5.EnableTransactionManagement   
                                    •         6.EnableAspectJAutoProxy           
                                    •         7.Transaction
                                    •         8.Aspect    
                                    • 整合Junit
                                      •                 1.RunWith(SpringRunner.class)
                                        •                 2.ContextConfiguration      
                                        相关产品与服务
                                        容器服务
                                        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档