Spring5中常用注解介绍
将实体类存入Spring的IOC容器:@Component:用于创建对象的,作用于类。value:指定 bean 的 id。如果不指定 value 属性,默认 bean 的 id 是当前类的类名。首字母小写。@Controller: 一般用于表现层的注解。@Service: 一般用于业务层的注解。@Repository: 一般用于持久层的注解。@Bean作用:用于把当前方法的返回值作...
将实体类存入Spring的IOC容器:
@Component:用于创建对象的,作用于类。
value:指定 bean 的 id。如果不指定 value 属性,默认 bean 的 id 是当前类的类名。首字母小写。
@Controller: 一般用于表现层的注解。
@Service: 一般用于业务层的注解。
@Repository: 一般用于持久层的注解。
@Bean
作用:用于把当前方法的返回值作为bean对象存入spring的ioc容器中
属性:name:用于指定bean的id。当不写时,默认值是当前方法的名称
细节:当我们使用注解配置方法时,如果方法有参数,spring框架会去容器中查找有没有可用的bean对象。
查找的方式和Autowired注解的作用是一样的
用于注入数据的:
@Autowired:自动按照类型注入。当使用注解注入属性时, set 方法可以省略。它只能注入其他 bean 类型。当有多个
类型匹配时,使用要注入的对象变量名称作为 bean 的 id,在 spring 容器查找,找到了也可以注入成功。找不到
就报错。
@Qualifier:
作用:在自动按照类型注入的基础之上,再按照 Bean 的 id 注入。它在给字段注入时不能独立使用,必须和
@Autowired 一起使用;但是给方法参数注入时,可以独立使用
属性:value:指定 bean 的 id
@Resource:
作用:直接按照 Bean 的 id 注入。它也只能注入其他 bean 类型。
属性:name:指定 bean 的 id。
@Value:
作用:注入基本数据类型和 String 类型数据的
属性:value:用于指定值
改变作用范围的:
@Scope:
作用:指定 bean 的作用范围。
属性:value:指定范围的值。
取值:singleton(单例的) prototype(多例的)
request(每次http请求都会创建一个bean,该作用域仅在基于web的Spring ApplicationContext情形下有效。)
session (在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。)
globalsession(在一个全局的HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。)
缺省的Spring bean 的作用域是Singleton.
和生命周期相关的:
@PostConstruct:
作用:用于指定初始化方法
@PreDestroy
作用:用于指定销毁方法
配置类相关:
@Configuration:
作用:用于指定当前类是一个 spring 配置类, 当创建容器时会从该类上加载注解。 获取容器时需要使用
AnnotationApplicationContext(有@Configuration 注解的类.class)。
细节:当配置类作为AnnotationConfigApplicationContext对象创建的参数时,该注解可以不写。
@ComponentScan
作用:用于指定 spring 在初始化容器时要扫描的包。 作用和在 spring 的 xml 配置文件中的:
<context:component-scan base-package=“com.itheima”/>是一样的。
属性:basePackages:用于指定要扫描的包。和该注解中的 value 属性作用一样。
@Import
作用:用于导入其他的配置类
属性:value:用于指定其他配置类的字节码。
当我们使用Import的注解之后,有Import注解的类就父配置类,而导入的都是子配置类
@PropertySource
作用:用于指定properties文件的位置
属性:
value:指定文件的名称和路径。
关键字:classpath,表示类路径下
Spring 整合 Junit:
当我们使用spring 5.x版本的时候,要求junit的jar必须是4.12及以上
@RunWith(SpringJUnit4ClassRunner.class):使用@RunWith 注解替换原有运行器
@ContextConfiguration(locations= {“classpath:bean.xml”}):
locations 属性: 用于指定配置文件的位置。如果是类路径下,需要用 classpath:表明
classes 属性: 用于指定注解的类。当不使用 xml 配置时,需要用此属性指定注解类的位置。
@Autowired:使用@Autowired 给测试类中的变量注入数据
更多推荐
所有评论(0)