一篇全了解Spring全注解详解

用于创建对象

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及以上

经验分享 程序员 微信小程序 职场和发展