SpringBoot框架常用注解+

SpringBoot框架常用注解

项目配置注解

注释用途
@SpringBootApplication是一个复合注解,包含了@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan这三个注解。
@Configuration一般用来声明配置类,可以使用 @Component注解替代,不过使用Configuration注解声明配置类更加语义化。
@SpringBootConfiguration标注当前类是配置类,这个注解继承自@Configuration。并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到srping容器中,并且实例名就是方法名。
@ConditionalOnProperty在spring boot中有时候需要控制配置类是否生效,可以使用@ConditionalOnProperty注解来控制@Configuration是否生效。实现是通过havingValue与配置文件中的值对比,返回为true则配置类生效,反之失效
@EnableAutoConfiguration是自动配置的注解,这个注解会根据我们添加的组件jar来完成一些默认配置,我们做微服时会添加spring-boot-starter-web这个组件jar的pom依赖,这样配置会默认配置springmvc 和tomcat。
@ComponentScan扫描当前包及其子包下被@Component,@Controller,@Service,@Repository注解标记的类并纳入到spring容器中进行管理。等价于context:component-scan的xml配置文件中的配置项。
@ServletComponentScanServlet、Filter、Listener 可以直接通过 @WebServlet、@WebFilter、@WebListener 注解自动注册,这样通过注解servlet ,拦截器,监听器的功能而无需其他配置
@MapperScanspring-boot支持mybatis组件的一个注解,通过此注解指定mybatis接口类的路径,即可完成对mybatis接口的扫描。它和@mapper注解是一样的作用,不同的地方是扫描入口不一样。@mapper需要加在每一个mapper接口类上面。所以大多数情况下,都是在规划好工程目录之后,通过@MapperScan注解配置路径完成mapper接口的注入。
@ImportResource(locations={})导入其他xml配置文件,需要标准在主配置类上。导入property的配置文件
@PropertySource指定文件路径,这个相当于使用spring的importresource标签来完成配置项的引入。
@import一个可以将普通类导入到spring容器中做管理
@component实现bean的注入

controller 层注解

注释用途
@Controller对应 Spring MVC 控制层,主要用户接受用户请求并调用 Service 层返回数据给前端页面。表明这个类是一个控制器类,和@RequestMapping来配合使用拦截请求,如果不在method中注明请求的方式,默认是拦截get和post请求。这样请求会完成后转向一个视图解析器。但是在大多微服务搭建的时候,前后端会做分离。所以请求后端只关注数据处理,后端返回json数据的话,需要配合@ResponseBody注解来完成。REST 风格的控制器
@RestController@Controller 和@ResponseBody的结合,一个类被加上@RestController 注解,数据接口中就不再需要添加@ResponseBody。更加简洁。
@CrossOrigin(origins = “”, maxAge = 1000)这个注解主要是为了解决跨域访问的问题。这个注解可以为整个controller配置启用跨域,也可以在方法级别启用。我们在项目中使用这个注解是为了解决微服在做定时任务调度编排的时候,会访问不同的spider节点而出现跨域问题。
@Autowiredspring的自动装配,这个注解可以用到构造器,变量域,方法,注解类型上。当我们需要从bean 工厂中获取一个bean时,Spring会自动为我们装配该bean中标记为@Autowired的元素。
@EnableCaching这个注解是spring framework中的注解驱动的缓存管理功能。自spring版本3.1起加入了该注解。其作用相当于spring配置文件中的cache manager标签。
@PathVariable路径变量注解,@RequestMapping中用{}来定义url部分的变量名,同样可以支持变量名加正则表达式的方式,变量名:[正则表达式]。
@RequestParam用于获取查询参数
@RequestBody用于读取 Request 请求(可能是 POST,PUT,DELETE,GET 请求)的 body 部分并且Content-Type 为 application/json 格式的数据,接收到数据之后会自动将数据绑定到 Java 对象上去。系统会使用HttpMessageConverter或者自定义的HttpMessageConverter将请求的 body 中的 json 字符串转换为 java 对象。(一个请求方法只可以有一个@RequestBody,但是可以有多个@RequestParam和@PathVariable。)

servcie层注解

注解用途
@Service这个注解用来标记业务层的组件,我们会将业务逻辑处理的类都会加上这个注解交给spring容器。事务的切面也会配置在这一层。当然这个注解不是一定要用。有个泛指组件的注解,当我们不能确定具体作用的时候,可以用泛指组件的注解托付给spring容器。
@Resource@Resource和@Autowired一样都可以用来装配bean,都可以标注字段上,或者方法上。 @resource注解不是spring提供的,是属于J2EE规范的注解。两个之间的区别就是匹配方式上有点不同,@Resource默认按照名称方式进行bean匹配,@Autowired默认按照类型方式进行bean匹配。
@ PostConstruct自定义初始化
@ PreDestroy自定义销毁
@Qualifier(“名称”)指定自动注入的id名称

持久层注解

注解用途
@Repository@Repository注解类作为DAO对象,管理操作数据库的对象。总的来看,@Component, @Service, @Controller, @Repository是spring注解(标识成可用于 @Autowired 注解自动装配的 bean 的类),注解后可以被spring框架所扫描并注入到spring容器来进行管理。
@Component通用注解,其他三个注解是这个注解的拓展,并且具有了特定的功能。通过这些注解的分层管理,就能将请求处理,义务逻辑处理,数据库操作处理分离出来,为代码解耦,也方便了以后项目的维护和开发。所以我们在正常开发中,如果能用@Service, @Controller, @Repository其中一个标注这个类的定位的时候,就不要用@Component来标注。
@Transactional通过这个注解可以声明事务,可以添加在类上或者方法上。在spring boot中 不用再单独配置事务管理,一般情况是我们会在servcie层添加了事务注解,即可开启事务。要注意的是,事务的开启只能在public 方法上。并且主要事务切面的回滚条件。正常我们配置rollbackfor exception时 ,如果在方法里捕获了异常就会导致事务切面配置的失效。

参数校验

注解用途
@NotEmpty被注释的字符串的不能为 null 也不能为空
@NotBlank被注释的字符串非 null,并且必须包含一个非空白字符
@Null被注释的元素必须为 null
@NotNull被注释的元素必须不为 null
@AssertTrue被注释的元素必须为 true
@AssertFalse被注释的元素必须为 false
@Pattern(regex=,flag=)被注释的元素必须符合指定的正则表达式
@Email被注释的元素必须是 Email 格式。
@Min(value)注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max=, min=)被注释的元素的大小必须在指定的范围内
@Digits (integer, fraction)被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past被注释的元素必须是一个过去的日期
@Future被注释的元素必须是一个将来的日期
@Valid验证请求体(RequestBody),在需要验证的参数上加上了@Valid注解,如果验证失败,它将抛出MethodArgumentNotValidException。
@Validated验证请求参数(Path Variables 和 Request Parameters),类上加上@ Validated 注解,参数前加@Valid注解

读取配置信息

注解用途
@value使用 @Value(“${property}”) 读取比较简单的配置信息
@ConfigurationProperties通过@ConfigurationProperties读取配置信息并与 bean 绑定。
@EnableConfigurationProperties使用 @ConfigurationProperties 注解的类生效。如果一个配置类只配置@ConfigurationProperties注解,而没有使用@Component,那么在IOC容器中是获取不到properties 配置文件转化的bean。
PropertySource读取指定 properties 文件

json序列化

注解用途
@JsonFormat一般用来格式化 json 数据
@JsonIgnoreProperties作用在类上用于过滤掉特定字段不返回或者不解析。
@JsonIgnore一般用于类的属性上,作用和上面的@JsonIgnoreProperties 一样。
@JsonUnwrapped扁平化对象
@JsonInclude序列化时增加规则,例如@JsonInclude(JsonInclude.Include.NON_NULL)作用为序列化时过滤掉返回值为null的字段(不包括Optional或AtomicReference类型),其他规则还有ALWAYS(默认)->表示全部序列化,NON_ABSENT->Optional或AtomicReference类型实例为null和普通类型为null时不序列化,NON_EMPTY->排除字段值为null、空字符串、空集合、空数组、Optional类型引用为空,AtomicReference类型引用为空,NON_DEFAULT->没有更改的字段不序列化,CUSTOM->自定义,valueFilter属性一起使用,在序列化的时候会执行CustomFilter中的的equals方法,true为不会被序列化,USE_DEFAULTS->注解增加在类名上时,对整个类生效(优先级高于其他);也可增加在字段上,此时只对该字段生效

其他相关注解

注解用途
@RestControllerAdvice@ControllerAdvice 和 @ResponseBody的合集,可以将异常以json的格式返回数据。
@ControllerAdvice注解定义全局异常处理类。@ControllerAdvice 和 @ExceptionHandler 配合完成统一异常拦截处理。
@ExceptionHandler注解声明异常处理方法
@Scope声明 Spring Bean 的作用域。四种常见的 Spring Bean 的作用域:singleton : 唯一 bean 实例,Spring 中的 bean 默认都是单例的;prototype : 每次请求都会创建一个新的 bean 实例;request : 每一次 HTTP 请求都会产生一个新的 bean,该 bean 仅在当前 HTTP request 内有效;session : 每一次 HTTP 请求都会产生一个新的 bean,该 bean 仅在当前 HTTP session 内有效。
@Test声明一个方法为测试方法
@ActiveProfiles一般作用于测试类上, 用于声明生效的 Spring 配置文件
@Transactional被声明的测试方法的数据会回滚,避免污染测试数据
@WithMockUserSpring Security 提供的,用来模拟一个真实用户,并且可以赋予权限。
@Projection在interface接口前。这里的name属性是Projection的名字,types表示这个Projection只提供给Person类型的对象,在访问的时候也只能通过Person对象访问到这个Projection。
@UniqueConstraint定义在Table或SecondaryTable元数据里,用来指定建表时需要建唯一约束的列。
@RepositoryRestResource在rest类型的请求路径中自动截取people参数。补充;Spring Data REST的JSON输出格式使用的是HAL格式。
@FunctionalInterface标记在接口上,“函数式接口”是指仅仅只包含一个抽象方法的接口。该注解不是必须的,如果一个接口符合"函数式接口"定义,那么加不加该注解都没有影响。
@EventListener创建一个监听器,标注在一个bean的方法上

Java元注解

注解用途
@Target用于描述注解的使用范围
@Retention表示需要在什么级别保存该注释信息,用于描述注解的生命周期
@Documented描述在使用javadoc 工具为类生成帮助文档时是否要保留其注解信息
@Inherited@Inherited 元注解只能应用于对类的注解。如果一个类具有继承注解,那么它的所有子类都自动具有同样的注解。

spring AOP常用注解

注解用途
@Aspect作用是把当前类标识为一个切面供容器读取
@PointcutPointcut是植入Advice的触发条件。每个Pointcut的定义包括2部分,一是表达式,二是方法签名。方法签名必须是 public及void型。可以将Pointcut中的方法看作是一个被Advice引用的助记符,因为表达式不直观,因此我们可以通过方法签名的方式为 此表达式命名。因此Pointcut中的方法只需要方法签名,而不需要在方法体内编写实际代码。
@Around环绕增强,相当于MethodInterceptor
@AfterReturning后置增强,相当于AfterReturningAdvice,方法正常退出时执行
@Before标识一个前置增强方法,相当于BeforeAdvice的功能,相似功能的还有下面几个
@AfterThrowing异常抛出增强,相当于ThrowsAdvice
@Afterfinal增强,不管是抛出异常或者正常退出都会执行

JPA 相关常用注解

注解用途
@Entity声明一个类对应一个数据库实体。
@Table(name = “”)设置表名
@Id声明一个字段为主键。
@GeneratedValue(strategy = GenerationType.IDENTITY)指定主键生成策略,默认使用的策略是GenerationType.AUTO。JPA 使用枚举定义了 4 种常见的主键生成策略:TABLE,使用一个特定的数据库表格来保存主键,持久化引擎通过关系数据库的一张特定的表格来生成主键;SEQUENCE,在某些数据库中,不支持主键自增长,比如Oracle、PostgreSQL其提供了一种叫做"序列(sequence)"的机制生成主键,IDENTITY,主键自增长;AUTO,把主键生成策略交给持久化引擎(persistence engine),持久化引擎会根据数据库在以上三种主键生成策略中选择其中一种。
@GenericGenerator声明一个主键策略。@GeneratedValue(generator = “IdentityIdGenerator”)@GenericGenerator(name = “IdentityIdGenerator”, strategy = “identity”)等价于@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column声明字段。设置属性 userName 对应的数据库字段名为 user_name,长度为 32,非空@Column(name = “user_name”, nullable = false, length=32)。设置字段类型并且加默认值Column(columnDefinition = “tinyint(1) default 1”)。columnDefinition 属性指定数据表对应的 Lob 字段类型@Column(name = “content”, columnDefinition = “LONGTEXT NOT NULL”)
@Transient指定不持久化特定字段。声明不需要与数据库映射的字段,在保存的时候不需要保存进数据库
@Query@Query(“select u.userName as userName ,u.email as email from User u”)
@Lob声明某个字段为大字段。
@Basic(fetch = FetchType.EAGER)指定 Lob 类型数据的获取策略, FetchType.EAGER 表示非延迟 加载,而 FetchType. LAZY 表示延迟加载
@Enumerated使用枚举类型的字段@Enumerated(EnumType.STRING)
@EnableJpaAuditing开启 JPA 审计功能
@CreatedDate表示该字段为创建时间时间字段,在这个实体被 insert 的时候,会设置。@LastModifiedDate同理
@CreatedBy表示该字段为创建人,在这个实体被 insert 的时候,会设置值。@LastModifiedBy同理
@Modifying提示 JPA 该操作是修改操作,注意还要配合@Transactional注解使用。
@Transactional在要开启事务的方法上使用@Transactional注解即可,一般用在可以作用在类或者方法上
@OneToOne声明一对一关系
@OneToMany声明一对多关系
@ManyToOne声明多对一关系
@MangToMang声明多对多关系
@JoinTable两张表通过中间的关联表做联系时使用,即多对多关系,见权限分配,中间表可以通过hibernate直接生成并保存
@JoinColumn@JoinColumn(name=“addressID”)//注释本表中指向另一个表的外键。
@Temporal如果在某类中有Date类型的属性,数据库中存储可能是’yyyy-MM-dd hh:MM:ss’要在查询时获得年月日,在该属性上标注@Temporal(TemporalType.DATE) 会得到形如’yyyy-MM-dd’ 格式的日期;要获得时分秒,在该属性上标注 @Temporal(TemporalType.TIME) 会得到形如’HH:MM:SS’ 格式的日期;要获得’是’yyyy-MM-dd hh:MM:ss’,在该属性上标注 @Temporal(TemporalType.TIMESTAMP) 会得到形如’HH:MM:SS’ 格式的日期

rest

注解用途
@GetMapping(value =“”)等价于@RequestMapping(value=“”,method= RequestMethod.GET )
@PostMapping(value =“”)等价于@RequestMapping(value=“”,method = RequestMethod.POST)
@PutMapping(value =“”)等价于@RequestMapping(value=“”,method = RequestMethod.PUT)
@DeleteMapping(value =“”)等价于@RequestMapping(value=“”,method = RequestMethod.DELETE)
@PatchMapping(“”)一般实际项目中,我们都是 PUT 不够用了之后才用 PATCH 请求去更新数据。
@PathParam获取 URL 请求中的路径参数
@QueryParam用于从请求 URL 的查询组件中提取查询参数
@DefaultValue如果需要为参数设置默认值,可以使用 @DefaultValue
@FormParam顾名思义是处理 HTML表单请求的。要求所请求 MIME 媒体类型为 application/x-www-form-urlencoded,并且符合指定的 HTML 编码的形式,此参数提取对于 HTML 表单 POST 请求是非常有用的。
@MatrixParam从 URL 路径提取信息
@HeaderParam从 HTTP 头部提取信息
@CookieParam从关联在 HTTP 头部的 cookies 里提取信息
@BeanParam允许注入参数到一个 bean
@Context一般可以用于获得一个Java类型关联请求或响应的上下文

Swagger常用注解

注解用途
@Api用在类上,说明该类的作用。
@ApiOperation注解来给API增加方法说明。
@ApiImplicitParams用在方法上包含一组参数说明。
@ApiImplicitParam用来注解来给方法入参增加说明。
@ApiResponses用于表示一组响应
@ApiResponse用在@ApiResponses中,一般用于表达一个错误的响应信息。code:数字,例如400;message:信息,例如"请求参数没填好";response:抛出异常的类
@ApiModel描述一个Model的信息(一般用在请求参数无法使用注解进行描述的时候)
@ApiModelProperty描述一个model的属性

lombok常用注解

注解用途
@Data注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法。@Data相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集
@Setter注解在类或属性上,为属性提供 set()方法,当注解在类上时为该类下所有属性提供set方法;@Setter(AccessLevel.PROTECTED)表示该方法是protected级别的,@Setter(AccessLevel.PRIVATE)表示该方法是private级别的,@Setter(AccessLevel.NONE)表示不会生成该方法;如果使用注解也手动写了方法,已重写的为准。static属性不会生成方法,final属性只会生成get方法
@Getter注解在类或属性上,为属性提供 get() 方法;使用同@Setter
@ToString自动重写 toString() 方法,会印出所有变量
@EqualsAndHashCode自动生成 equals(Object other) 和 hashcode() 方法,包括所有非静态变量和非 transient 的变量。如果某些变量不想要加进判断,可以透过 exclude 排除,也可以使用 of 指定某些字段。@EqualsAndHashCode(callSuper = false)表示排除父类字段进行比较,只要子类对象的本身的字段值相同,父类字段值可以不同,equals方法的返回值是true。callSuper默认为false(Q : 为什么只有一个整体的 @EqualsAndHashCode 注解,而不是分开的两个 @Equals 和 @HashCode?A : 在 Java 中有规定,当两个对象 equals 时,他们的 hashcode 一定要相同,反之,当 hashcode 相同时,对象不一定 equals。所以 equals 和 hashcode 要一起实现,免得发生违反 Java 规定的情形发生)
@Slf4j自动生成该类的 log 静态常量,要打日志就可以直接打,不用再手动 new log 静态常量了(SpringBoot默认支持的就是 slf4j + logback 的日志框架)。
@Log4j注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor注解在类上;为类提供一个全参的构造方法
@RequiredArgsConstructor生成一个包含 “特定参数” 的构造器,特定参数指的是那些有加上 final 修饰词的变量们
@Cleanup可以关闭流
@Builder自动生成流式 set 值写法,从此之后再也不用写一堆 setter 了。标注于类之上,用于生成复杂的builder API,创建构建者模式。还可用于标注于构造器和方法之上。
@Synchronized加个同步锁
@SneakyThrows等同于try/catch 捕获异常
@NonNull如果给参数加个这个注解 参数为null会抛出空指针异常
@Value注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。

kafka

注解用途
1)通过@Configuration、@EnableKafka,声明Config并且打开KafkaTemplate能力。2)通过@Value注入application.properties配置文件中的kafka配置。3)生成bean,@Bean
@KafkaListenertopics属性用于指定kafka topic名称,topic名称由消息生产者指定,也就是由kafkaTemplate在发送消息时指定。

Spring Security常用注解

注解用途
@EnableGlobalMethodSecuritySpring Security默认是禁用注解的,要想开启注解, 需要在继承WebSecurityConfigurerAdapter的类上加@EnableGlobalMethodSecurity注解, 来判断用户对某个控制层的方法是否具有访问权限 (解释: 就是说有的@requestMapping方法被拥有指定权限的人访问 )
@preAuthorize用来控制一个方法是否能够被调用。在方法调用之前,基于表达式的计算结果来限制对方法的访问
@PostAuthorize与@preAuthorize两者可以用来在方法调用前或者调用后进行权限检查
@PreFilterSpring Security将移除使对应表达式的结果为false的元素。代码表示将对返回结果中id不为偶数的user进行移除。filterObject是使用@PreFilter和@PostFilter时的一个内置表达式,表示集合中的当前对象。当@PreFilter标注的方法拥有多个集合类型的参数时,需要通过@PreFilter的filterTarget属性指定当前@PreFilter是针对哪个参数进行过滤的。
@PostFilter与@PreFilter用来对集合类型的参数或者返回值进行过滤
@RestResource@RestResources仅在指向托管资源的域属性上受支持.因此,如果您没有通过Spring Data REST托管存储库公开WorkflowEvent,则注释无论如何都不会产生任何影响.在这种情况下,只需使用@JsonIgnore让杰克逊不渲染该属性.
@EntityGraph通过@EntityGraph来指定实体类中定义的NamedEntityGraph
以上内容参考了许多博客与其他类似文章

另: 内容未检查,可能有错误

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java EE常用框架 WebService 介绍 基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用 术语 XML. Extensible Markup Language -扩展性标记语言 WSDL – WebService Description Language – Web服务描述语言。 SOAP-Simple Object Access Protocol(简单对象访问协议) SOA(Service-Oriented Architecture) :面向服务的架构 它是一种思想,IBM大力倡导是即插即用的,IBM大力提倡,希望以组装电脑的方式来开发应用 它是目录服务,通过该服务可以注册和发布webservcie,以便第三方的调用者统一调用 使用: 二、我们可以使用Java自带的WsImport来实现本地代理。这种方法会将WebService翻译成Java类,我们使用类一样去访问WebService就行了。非常好用。 三、除了调用别人发布的webService,也可以自己发布WebService服务 四、CXF框架可以与spring无缝连接,就不用我们自己Endpoint了。它还能记录日志之类的 五、我们还可以使用Idea下的webservice,能够使用图形画面的方式获取本地代理和生成WSDL文件。 Activiti 介绍 Activiti5是一个业务流程管理(BPM)框架 如果我们的业务是比较复杂的话,我们才会用到工作流! 使用Activiti的步骤 定义工作流 画一个BPMN图就可以了 部署工作流 执行工作流-->按照我们定义的工作流来执行 工作流在执行的过程中肯定会涉及到很多数据,Activiti是默认提供数据库表给我们使用的 Activiti工作流框架快速入门: 定义工作流,使用插件来把我们的流程图画出来。这个流程图就是我们定义的工作流。 工作流引擎是工作流的核心,能够让我们定义出来的工作流部署起来。 由于我们使用工作流的时候是有很多数据产生的,因此Activiti是将数据保存到数据库表中的。这些数据库表由Actitviti创建,由Activiti维护。 部署完的工作流是需要手动去执行该工作流的。 根据由谁处理当前任务,我们就可以查询出具体的任务信息。 根据任务的id,我们就可以执行任务了。 细节 流程定义:涉及到了四张数据库表 我们可以通过API把我们的流程定义图读取出来 可以根据查询最新版本的流程定义 删除流程定义 部署流程定义的时候也可以是ZIP文件 流程运行:涉及到两个对象,四张数据库表: 流程实例 获取流程实例和任务的历史信息 判断流程实例是否为空来判断流程是否结束了 查看正在运行服务的详细信息 通过流程实例来开启流程 流程变量:它涉及到了两张表。 流 程变量实际上就是我们的条件。 作用 我们可以在流程开始的时候设置流程变量,在任务完成的时候设置流程变量。 运行时服务和流程任务都可以设置流程变量。 连线 通过连线我们可以在其中设置条件,根据不同的条件流程走不同的分支 排他网关 SpringData JPA 简介 API Repository接口 PagingAndSortingRepository JpaRepository JpaSpecificationExecutor 过滤条件查询接口 注解 nameQuery注解 SQL命名,调用的时候根据名称调用 查询注解 1,targetEntity 属性表示默认关联的实体类型,默认为当前标注的实体类。 2,cascade属性表示与此实体一对一关联的实体的级联样式类型。 3,fetch属性是该实体的加载方式,默认为即时加载EAGER 4,optional属性表示关联的该实体是否能够存在null值,默认为ture,如果设置为false,则该实体不能为null, 5, mapperBy属性:指关系被维护端 1,@JoinColumn注释是保存表与表之间关系的字段 2,如果不设置name,默认name = 关联表的名称+”-“+关联表
Spring Boot框架是一个用于开发Java应用程序的快速、便捷的框架。它提供了许多注解,用于简化开发过程和配置管理。以下是Spring Boot框架常用注解: 1. @SpringBootApplication:这是一个组合注解,用于标识主应用程序类。它包含了@Configuration、@EnableAutoConfiguration和@ComponentScan等注解。 2. @RestController:用于标识一个类是RESTful风格的控制器,可以处理HTTP请求并返回JSON或XML等格式的响应。 3. @RequestMapping:用于映射HTTP请求到控制器的处理方法。可以指定请求的URL路径、请求方法、请求参数等。 4. @Autowired:用于自动装配依赖对象。Spring Boot会根据类型进行自动查找并注入对应的Bean。 5. @Value:用于注入配置属性值。可以从配置文件中读取属性值,并将其注入到对应的字段或方法参数中。 6. @Component:用于标识一个类是Spring管理的组件。可以通过@ComponentScan扫描并自动注册为Bean。 7. @Service:用于标识一个类是业务逻辑层的组件。通常与@Repository(数据访问层)和@Controller(表示层)一起使用。 8. @Repository:用于标识一个类是数据访问层的组件。通常与@Service(业务逻辑层)和@Controller(表示层)一起使用。 9. @Configuration:用于标识一个类是配置类。可以包含@Bean注解,用于定义Bean对象。 10. @EnableAutoConfiguration:用于启用自动配置。Spring Boot会根据项目的依赖和配置自动配置应用程序。 11. @EnableWebMvc:用于启用Spring MVC的配置。可以自定义配置Spring MVC的行为。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值