常用几个注解

本文详细解析了SpringBoot框架中常用的注解,包括@RestController、@Service、@RequestMapping、@Autowired、@Controller、@Bean、@RequestParam和@Entity,阐述了它们的功能、应用场景以及如何正确使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.@RestController 用于标注控制层组件
@RestController = @Controller + @ResponseBody组成:

  • @Controller 将当前修饰的类注入SpringBoot IOC容器,使得从该类所在的项目跑起来的过程中,这个类就被实例化。当然也有语义化的作用,即代表该类是充当Controller的作用
  • @ResponseBody 它的作用简短截说就是指该类中所有的API接口返回的数据,甭管你对应的方法返回Map或是其他Object,它会以Json字符串的形式返回给客户端,本人尝试了一下,如果返回的是String类型,则仍然是String。

2.@Service一般用于修饰service层的组件

3.@RequestMapping:@RequestMapping(“/path”)表示该控制器处理所有“/path”的URL请求。RequestMapping是一个用来处理请求地址映射的注解,提供路由信息,负责URL到Controller中的具体函数的映射,可用于类或方法上。

用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。该注解有六个属性:

  • params:指定request中必须包含某些参数值是,才让该方法处理。
  • headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。
  • value:指定请求的实际地址,指定的地址可以是URI Template 模式
  • method:指定请求的method类型, GET、POST、PUT、DELETE等
  • consumes:指定处理请求的提交内容类型(Content-Type),如application/json,text/html;
  • produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回

4.@Autowired:自动导入依赖的bean,自动导入依赖的bean。byType方式。把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。当加上(required=false)时,就算找不到bean也不报错。

5.@Controller:用于定义控制器类,在spring 项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解@RequestMapping。

6.@Bean:用@Bean标注方法等价于XML中配置的bean。

7.@RequestParam:用在方法的参数前面

8.@Entity:@Table(name=”“):表明这是一个实体类。一般用于jpa这两个注解一般一块使用,但是如果表名和实体类名相同的话,@Table可以省略

### Android Studio 常用注解列表解释 #### @Override 用于标记方法覆盖父类的方法。这有助于编译器检查该方法是否确实存在于超类中,从而减少错误的发生。 ```java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } ``` #### @Deprecated 当某个API不推荐继续使用时可以加上此注解。它会提醒开发者不要再调用被标注的内容,并且通常附带替代方案说明[^1]。 #### @SuppressWarnings 抑制特定警告信息,在某些情况下知道代码会产生警告但仍希望忽略这些警告时非常有用。例如: ```java @SuppressWarnings("unchecked") public static List<String> getList() { return new ArrayList<>(); } ``` #### @Nullable 和 @NonNull 这两个注释用来表明参数、返回值能否为null。`@Nullable`表示允许传入或返回null;而`@NonNull`则相反,不允许为空。 ```java public String getText(@NonNull View view){ return ((TextView)view).getText().toString(); } public void setText(@Nullable String text){} ``` #### ButterKnife 注解 (需引入库) ButterKnife 是一个视图绑定库,简化了 findViewById 的操作。常见注解有 `@BindView`, `@OnClick` 等。 ```java @BindView(R.id.name) TextView name; @OnClick({ R.id.submit, R.id.cancel }) void onClick(View view) { switch (view.getId()) { case R.id.submit: submitForm(); break; case R.id.cancel: cancel(); break; } } ``` #### Dagger2 注解 (依赖注入框架) Dagger2 提供了一系列用于声明依赖关系的注解,比如 `@Inject`, `@Module`, `@Provides`. ```java @Module class StorageModule { private final Application application; public StorageModule(Application application) { this.application = application; } @Provides SharedPreferences providesSharedPreferences() { return PreferenceManager.getDefaultSharedPreferences(application); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值