Spring boot常用注解介绍

  目录


@SpringBootApplication

@SpringBootApplication:它是一个组合注解,替代 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan,以下是它部分的源码:


@SpringBootConfiguration

@SpringBootConfiguration:标注这个类是一个配置类;它只是@Configuration注解的派生注解;它与@Configuration注解的功能一致;只不过@SpringBootConfiguration是springboot的注解,而@Configuration是spring的注解


@EnableAutoConfiguration

@EnableAutoConfiguration:启用 SpringBoot 的自动配置。


@ComponentScan

@ComponentScan:主要是从约定的扫描路径中,识别标注了组件注册注解的类,并且把这些类自动注册到spring IoC容器中,这些类就是我们通常所言的bean。IoC容器是Spring的特色之一,可以使用它管理bean。


@Autowired

@Autowired: 为组件自动赋值,自动查找IoC容器,找到就赋值,查找的方式是从类型寻找,有可能找到多个。一般使用在构造方法前面,在其它地方使用会警告,但不影响使用。


@Data

@Data:使用@Data注解要先引入lombok,lombok 是什么,它是一个工具类库,可以用简单的注解形式来简化代码,提高开发效率。一般直接在实体类前加@Data注解,注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法,在pom.xml引入依赖:

@Data
@TableName("sys_user")
public class SysUser {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String username;
    private String password;
    private String salt;
}

@Controller

@Controller:自动映射 URL。@Controller 注解可以自动将请求映射到控制器的方法上。支持视图解析。@Controller 注解可以将方法的返回值解析为视图,并渲染到客户端,一般在在控制层使用。


@Service

@Service:它标识一个类作为业务逻辑的服务组件。通过 @Service 注解,Spring 容器会自动扫描并创建这些服务组件,实现业务逻辑的松耦合和模块化。


@Repository

@Repository:指示装饰的类是存储库。 存储库是一种用于封装存储,检索和搜索行为的机制,该机制模仿对象的集合。 它是@Component注解的一种特殊功能,允许通过类路径扫描自动检测实现类。


@RequestMapping

@RequestMapping:将请求和处理请求的控制器方法关联起来,建立映射关系。 SpringMVC 接收到指定的请求,就会来找到在映射关系中对应的控制器方法来处理这个请求。

@Value:将配置文件中key对应的值赋值给它标注的属性。


@PathVariable

@PathVariable:将URL路径变量绑定到方法的参数上,如果方法参数为Map<String, String>,则将使用所有路径变量名称和值填充映射。 它具有以下可选元素: name-要绑定到的路径变量的名称; required-指示路径变量是否为必需; 值-名称的别名。


@Bean

@Bean:产生一个Bean对象,然后这个Bean对象交给Spring管理。 产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。


@TableName

@TableName:注解用来将指定的数据库表和 javaBean  进行映射。例如:

@Data
@TableName("orders")
public class Order {
    @TableId(type = IdType.AUTO)
    private Long id;
    @TableField("in_dateTime")
    private Date inDateTime;
    @TableField("out_dateTime")
    private Date outDateTime;
    private BigDecimal price;
    @TableField("is_pay_complete")
    private boolean isPayComplete;
    @TableField("is_require_invoicing")
    private boolean isRequireInvoicing;
    private PricingStandard pricingStandard;
    private ParkingLot parkingLot;
    private Vehicle vehicle;
}

@TableId

@TableId:专门用在主键上的注解,如果数据库中的主键字段名和实体中的属性名,不一样且不是驼峰之类的对应关系,可以在实体中表示主键的属性上加@Tableid注解,并指定@Tableid注解的value属性值为表中主键的字段名既可以对应上。


@RequestParam

@RequestParam:用于将指定的请求参数赋值给方法中的形参。例如:

    @RequestMapping(value = "/save", method = RequestMethod.POST)
        public String save(@ModelAttribute("order") Order entity
                ,@RequestParam("isPayCompleted" ) boolean isPayCompleted
                ,@RequestParam("isRequireInvoicing") boolean isRequireInvoicing
                ,@RequestParam("parkingLotId") Long parkingLotId
                ,@RequestParam("pricingStandardId") Long pricingStandardId
                ,@RequestParam("vehicleId") Long vehicleId)throws Exception {...
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值