Spring中的常用注解

@-springboot-zj-spring-各种注解的解释 @ConditionalOnProperty value 参考kudu-starter name属性,name用来从application.properties中读取某个属性值 value 数组,获取对应property名称的值,与name不可同时使用 @Qualifier 在Controller中需要注入service那么我的这个server有两个实现类如何区分开这两个impl 解决:Qualifier的意思是合格者,通过这个标示,表明了哪个实现类才是我们所需要的,添加@Qualifier注解,需要注意 阅读详情

 当项目变得比较大的时候,如何使用hbm.xml文件来配置Hibernate实体就会变得比较复杂。于是可以选择使用Annotation注解的方式,使得Hibernate的映射文件变得更加方便管理。

1. 声明实体
<1>@Entity
 对实体注释。任何Hibernate映射对象都要有这个注释。

<2>@Table
 声明此对象映射到数据库的数据表,通过它可以为实体指定表(table)、目录(Catalog)和Schema的名字。该注释不是必须的,如果没有则系统使用默认值(实体的短类名)。

<3>@Version
 该注释可以用于在实体Bean中添加乐观锁支持。

2. 声明主键
<4>@Id
 声明此属性为主键。该属性值可以通过自身创建,但是Hibernate推荐通过Hibernate生成。

<5>@GeneratedValue
 指定主键生成的策略。有以下四个值:

参数作用
TABLE使用表保存id值。
IDENTITYidentitycolumn
SEQUENCEsequence
AUTO根据数据库的不同,使用上面三个。

 
3. 声明普通属性
<6>@Column
 声明该属性与数据库字段的映射关系。

注意:
        1、 当POJO有属性不需要映射的时候一定要用@Transitent修饰,该注释表示此属性与表没
                有映射关系,只是一个暂时的属性。
        2、 @Lob注释表示该属性持久化为Blob或者Clob类型,具体取决于属性的类型。

4. 其他注解
<6>@Repository
 spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发。@Repository注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO类上即可。同时,为了让 Spring 能够扫描类路径中的类并识别出 @Repository 注解,需要在 XML 配置文件中启用Bean 的自动扫描功能,这可以通过<context:component-scan/>实现。
如此,我们就不再需要在 XML 中显式使用 进行Bean 的配置。Spring 在容器初始化时将自动扫描 base-package 指定的包及其子包下的所有 class文件,所有标注了 @Repository 的类都将被注册为 Spring Bean。

 为什么 @Repository 只能标注在 DAO 类上呢?这是因为该注解的作用不只是将类识别为Bean,同时它还能将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型。 Spring本身提供了一个丰富的并且是与具体的数据访问技术无关的数据访问异常结构,用于封装不同的持久层框架抛出的异常,使得异常独立于底层的框架。

<7>@Service、@Controller 和 @Component 将类标识为Bean
 Spring 2.5 在 @Repository的基础上增加了功能类似的额外三个注解:@Component、@Service、@Constroller,它们分别用于软件系统的不同层次:

@Component 是一个泛化的概念,仅仅表示一个组件 (Bean) ,可以作用在任何层次。
@Service 通常作用在业务层,但是目前该功能与 @Component 相同。
@Constroller 通常作用在控制层,但是目前该功能与 @Component 相同。
通过在类上使用 @Repository、@Component、@Service 和 @Constroller 注解,Spring会自动创建相应的 BeanDefinition 对象,并注册到 ApplicationContext 中。这些类就成了 Spring受管组件。这三个注解除了作用于不同软件层次的类,其使用方式与 @Repository 是完全相同的。

另外,除了上面的四个注解外,用户可以创建自定义的注解,然后在注解上标注 @Component,那么,该自定义注解便具有了与所@Component 相同的功能。不过这个功能并不常用。

当一个 Bean 被自动检测到时,会根据那个扫描器的 BeanNameGenerator 策略生成它的 bean名称。默认情况下,对于包含 name 属性的 @Component、@Repository、 @Service 和@Controller,会把 name 取值作为 Bean 的名字。如果这个注解不包含 name值或是其他被自定义过滤器发现的组件,默认 Bean 名称会是小写开头的非限定类名。如果你不想使用默认 bean命名策略,可以提供一个自定义的命名策略。首先实现 BeanNameGenerator接口,确认包含了一个默认的无参数构造方法。然后在配置扫描器时提供一个全限定类名,如下所示:

 <beans ...>  <context:component-scan base-package="a.b" name-generator="a.SimpleNameGenerator"/> </beans>  

与通过 XML 配置的 Spring Bean 一样,通过上述注解标识的Bean,其默认作用域是”singleton”,为了配合这四个注解,在标注 Bean 的同时能够指定 Bean 的作用域,Spring2.5 引入了 @Scope 注解。使用该注解时只需提供作用域的名称就行了,如下所示:

 @Scope("prototype") @Repository public class Demo { … }  

如果你想提供一个自定义的作用域解析策略而不使用基于注解的方法,只需实现 ScopeMetadataResolver接口,确认包含一个默认的没有参数的构造方法。然后在配置扫描器时提供全限定类名:

  <context:component-scan base-package="a.b" scope-resolver="footmark.SimpleScopeResolver" />  
Java大对象存储:@Lob注解处理BLOB和CLOB Java中的@Lob注解为处理大对象存储提供了一种简洁而强大的机制。通过这一注解,开发人员可以轻松地在JPA实体中映射BLOB和CLOB类型,无需编写复杂的JDBC代码。在实际应用中,正确使用@Lob注解并结合适当的性能优化策略至关重要。对于大多数应用场景,使用延迟加载和元数据分离策略可以显著提高性能。对于超大对象,考虑流式处理或分块存储可能是更好的选择。值得注意的是,不同的JPA实现(如Hibernate、EclipseLink)在处理@Lob注解方面可能有细微差别,因此了解所使用实现的具体行为非常重要。 阅读详情

相关推荐

spring常用注解

Spring 框架提供了许多有用的注解来简化开发过程中的依赖注入、切面编程、Web编程等功能。

qq_43518966的博客 1197

@Lob

[@Lob] 指定持久属性或字段应作为大对象持久保存到数据库支持的大对象类型。 映射到数据库Lob类型时,便携式应用程序应使用Lob注释。 当元素集合值是基本类型时,Lob注释可以与Basic注释或ElementCollection注释一起使用。 Lob可以是二进制或字符类型。 Lob类型是根据持久性字段或属性的类型推断的,除了字符串和基于字符的类型以外,默认为Blob。 Stri...

sunrainamazing的博客 1万+

Spring Boot 3.x JPA @Lob:数据库大侠,存储大对象的绝世武功

Spring Boot 3.x JPA中的@Lob注解,宛如江湖中存储大对象的绝世武功,能够轻松应对文本、图片、音频等庞大数据的存储挑战。掌握此武技,可让数据存储如行云流水,轻松驾驭各种大数据场景。

专注于深入研究多种编程语言,以实战为导向,逐步拓展开发技能,提升工程化编码和思维能力,展现无敌技术实力。 860

注解

本章内容覆盖了EJB3.0(也就是JPA)实体的注解规范以及Hibernate特有的扩展.     现在EJB3实体Bean是纯粹的POJO.实际上这表达了和Hibernate持久化实体对象同样的概念. 它们的映射都通过JDK5.0注解来定义(EJB3规范已经定义了对应的XML描述语法). 注解分为两个部分,分别是逻辑映射注解和物理映射注解, 通过逻辑映射注解可以描述对象模型,类之间的

king_min007的专栏 3004

国密SSL实战:手把手教你用Wireshark抓包分析GMTLS协议(附证书链验证技巧)

本文提供了一份国密SSL(GMTLS)协议的实战抓包分析指南。通过详细讲解Wireshark的配置、GMTLS握手流程的捕获与筛选,以及双证书机制和证书链的深度解析,帮助工程师和开发人员掌握使用Wireshark排查国密SSL连接问题、进行密评和协议调试的核心技巧。

rgv234567的博客 501

AI落地困局与破局者FDE:从技术神话到价值实干的战略转型

AI落地困局与破局者FDE:从技术神话到价值实干的战略转型 当前AI企业级应用面临三大核心挑战:业务场景深度非标化、技术落地"最后一公里"困局、以及市场竞争焦点转向实用价值。前线部署工程师(FDE)作为破局关键,通过技术-业务-产品三维交汇的复合能力,将AI从实验室推向生产环境。FDE不仅是技术架构师,更是业务价值挖掘机和产品进化传感器,通过"碎石路-高速公路"双循环模式,将定制化需求沉淀为可复用的平台能力。这种模式颠覆了传统SaaS的销售逻辑,形成基于价值的J型增长

随笔记录-分享&记忆 3984

Spring 中的常用注解

Spring 作为 Java 企业级开发中最广泛使用的框架之一,以其强大的功能和灵活性为开发者提供了高效的开发体验。在 Spring 中,注解(Annotation)是其核心机制之一,它简化了配置文件的繁琐操作,通过声明的方式实现了依赖注入等功能。本篇文章将介绍 Spring 框架中一些常用的注解,并结合实际场景详细说明它们的使用方法与作用。这不仅可以帮助初学者快速掌握 Spring 的基本用法,也能为有经验的开发者提供一个参考,帮助在实际开发中更高效地使用这些工具。

栗筝i的博客 2510

python怎样按某一列值拆分Excel表格

pd.ExcelWriter@python #用python按某一列拆分Excel工作表,将内容写入一个工作簿 本次以“按照表中的某一列,将一张表格拆分为多张表”的需求为例,简单介绍这个过程中用到的pd.ExcelWriter,及每一句的作用。 如上表《学生.xlsx》,假设有14万行28列,请按照学校名,拆分表格(不想用复制粘贴)。 ##代码及解释如下 import pandas as pd from time import time#用来计算时间,展示进度,减少焦虑 in_ws='学生.xlsx'#

learn_get的博客 6784

Spring常用注解全集

第一个是,@Target,表明注解所修饰的对象范围,即,该注解可以用在哪里。第二个是,@Retention,表示注解被保留的时间长短,也就是注解的生命周期。

m0_73413202的博客 1344

STM32CubeMX和华为LiteOS Studio开发STM32

传统的STM32的开发通常使用Keil/IAR这类开发软件,随着物联网时代的到来,传统嵌入式的发展不断向物联网方向靠拢,而Keil/IAR这类开发软件无法满足IoT一站式的开发,华为LiteOS Studio结合STM32CubeMX可以快速,高效地进行物联网开发,本文提供一种开发思路及环境的配置方法。...

weixin_45680600的博客 2832

西门子S7-1500 PLC模块化编程与生产线自动化实践

PLC(可编程逻辑控制器)作为工业自动化核心设备,其模块化编程技术能显著提升产线控制系统的开发效率。通过SCL高级语言实现算法封装、功能块(FB)复用等工程实践,可构建稳定可靠的分层式控制架构。本文以西门子TIA Portal平台为例,详解S7-1500系列PLC在汽车零部件产线中的标准化应用方案,包含配方管理、设备联动等典型场景的SCL实现,以及Profinet通信、虚拟轴同步等进阶技巧。特别适用于需要快速实施中大型生产线自动化改造的工程师,提供经过验证的异常处理机制和模块化设计规范。

weixin_34341229的博客 457

spring中常用注解

Spring框架提供了多种常用注解来简化开发,主要包括: 组件注解:@Component(通用)、@Service(业务层)、@Controller(控制层)、@Repository(数据层)和@RestController(REST API) 依赖注入:@Autowired自动装配,@Qualifier指定具体Bean 配置相关:@Configuration声明配置类,@Bean定义Bean 其他重要注解:@Primary指定优先Bean,@Scope定义Bean作用域 这些注解通过声明式配置大大简化了S

IT枫斗者的博客 1283

8.Python基础语法(五)续【光说不练假把式,上题】

Python基础语法(二) 有关于Python循环语句的几道实操,让大家理解知识点更深更透彻~

孤寒者的博客 2万+

Spring常用注解整理

Java知识学堂:https://gitee.com/zhangbw666/it-knowledge传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事务,这么...

猿码天地 1万+

Python李峋同款跳动的爱心(完整代码)

Python语言实现李峋同款可写字版跳动的爱心的完整代码。

AIGC 4万+

GEE案例:计算区域生态总体脆弱性分析

计算区域生态总体脆弱性分析需要考虑多个指标和因素。下面是一个基本的方法:选择指标:选择一组能够反映区域生态系统脆弱性的指标。这些指标可以包括生物多样性指数、森林覆盖率、湿地保护率、土地退化程度等。为每个指标分配权重:为了使得各指标在计算中的重要性相对均衡,可以为每个指标分配一个权重。权重可以根据各指标的重要性和可利用的数据进行确定。数据收集和处理:收集每个指标的数据,并对其进行处理,确保数据的准确性和一致性。如果有需要,可以对数据进行归一化处理。计算指标值:根据收集的数据和权重,计算每个指标的值。

此星光明博客 464

Spring & Spring Boot 常用注解总结

以上是 Spring 和 Spring Boot 中常用的注解总结。这些注解可以大大提高开发效率,使代码更加简洁和易于维护。在实际开发中,可以根据具体需求选择合适的注解来实现功能。

SOS5418818845的博客 1161

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Spring常用参数校验注解

Spring常用常数校验注解

AWen_Jack的博客 1349

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Spring Boot常用注解

自动导入依赖的bean,自动导入依赖的bean。把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。后,不需要在spring配置中设置扫描地址,通过mapper.xml里面的namespace属性对应相关的mapper类,spring将动态的生成Bean后注入到ServiceImpl中。用于定义控制器类,在spring项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解。

weixin_62008675的博客 1380

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Spring 框架中常用注解和使用方法

Spring 框架中常用注解和使用方法

weixin_68093610的博客 1303

Spring常用注解

spring和Springmvc框架常用的注解

weixin_45936141的博客 8502

Spring MVC常用注解(绝对经典)

学习 spring MVC 可以说,就是学习其注解,本文总结了 spring MVC 开发中常用的注解,希望能够帮助到您。

2301_80035594的博客 4341

Spring、SpringMVC常用注解总结

一、Spring常用注解 @Component:标注一个普通的Spring Bean类。 @Controller:标注一个控制器组件类。 @Service:标注一个业务层组件类。 @Repository:标注一个dao持久层组件类。 Bean实例的名字默认是Bean类的首字母小写,其他部分不变。 尽量考虑使用@Controller,@Service,@Repository代替通用的@Component。 二、SpringMVC常用注解 @Controller @RequestMappin

qq_42552857的博客 1万+

【spring boot 常用注解】

中常用的注解,解释它们的作用、使用场景及示例,帮助深入理解的核心功能。

qq_45973421的博客 1445

全面解读 Spring 和 Spring MVC 常用注解

Spring 是一个功能强大的 Java 框架,用于构建企业级应用程序。Spring MVC 是 Spring 框架的一部分,专注于构建基于 Web 的应用程序。为了有效地使用这些框架,了解常用注解及其应用场景至关重要。

开源AI 专属 UI——papyrai-ui。《千界明彻录》(故事形式构建元思维)——胡说小说。更多思辨内容在公众号。 1773

Spring Boot 常用注解详解

Spring Boot 是一个基于 Spring 框架的快速开发框架,它通过自动配置和约定优于配置的原则,极大地简化了 Spring 应用的开发。在 Spring Boot 中,注解(Annotation)是核心组成部分之一,它们帮助我们定义组件、配置应用、处理请求等。本文将详细介绍 Spring Boot 中常用的注解及其使用场景。

李长渊的博客 1265
上一篇: JQuery_dom节点操作
下一篇: 多线程_线程简介
pseudonym_
博客等级 码龄10年 88粉丝 205原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值