5.写出以下注解的用途 @Component, @Controller, @RestController, @ResponseBody, @Autowired, @Value, @ConfigurationProperties, @Resource
时间: 2024-02-13 16:45:47 浏览: 25
@Component:标记一个类作为组件类,可以被Spring自动扫描并注册为一个Bean。
@Controller:标记一个类作为控制器类,用于处理HTTP请求和响应,并通常配合@RequestMapping注解使用。
@RestController:组合了@Controller和@ResponseBody注解,用于返回JSON格式的数据。
@ResponseBody:标记一个方法返回的结果将会被转换为JSON或XML格式的数据并返回给客户端。
@Autowired:自动注入一个Bean,可以用于注入其他组件或服务。
@Value:注入一个属性值,可以用于注入配置文件中的属性值。
@ConfigurationProperties:将配置文件中的属性值注入到一个Bean中,可以用于注入多个属性值。
@Resource:自动注入一个Bean,与@Autowired类似,但@Resource可以通过name属性指定要注入的Bean。
相关问题
@Primary用法
@Primary是Spring框架中的一个注解,用于解决依赖注入时的歧义性问题。当一个接口有多个实现类时,使用@Primary注解可以指定其中一个实现类作为首选的注入对象。
下面是一个示例,演示了@Primary注解的用法:
1. 首先,在实现类上添加@Primary注解进行声明:
```java
@Primary
@Component
public class StudentHan implements Person{
@Override
public void study(String subject) {
System.out.println("I'm Han Meimei. I'm learning "+subject);
}
}
```
2. 然后,在需要注入的地方使用@Autowired注解进行注入:
```java
@Controller
@RequestMapping(value = "/primary")
public class TestPrimary {
@Autowired
private Person person;
@RequestMapping(value = "test", method = RequestMethod.GET)
@ResponseBody
public void Test(){
person.study("Chinese");
}
}
```
在上述示例中,通过在StudentHan类上添加@Primary注解,将其声明为首选的注入对象。当需要注入Person接口时,Spring框架会自动选择StudentHan作为注入对象。
1.springboot核心注解
Spring Boot 核心注解有以下几个:
1. @SpringBootApplication:标注Spring Boot应用的入口,表示该类是Spring Boot的主配置类,会自动扫描当前包及其子包下的所有注解。
2. @Controller:用于标注控制层组件,通常与@RequestMapping注解一起使用。
3. @RestController:相当于@Controller和@ResponseBody的结合体,表示该类的所有方法返回的都是JSON格式的数据。
4. @Service:用于标注服务层组件。
5. @Repository:用于标注数据访问层组件。
6. @Component:通用的注解,可用于标注任意组件。
7. @Configuration:用于标注配置类,相当于Spring的XML配置文件。
8. @Bean:用于标注方法,表示该方法返回的对象将被Spring容器管理。
9. @Value:用于获取配置文件中的属性值,类似于Spring的EL表达式。
10. @Autowired:自动装配,用于标注需要注入的组件。