spring不用加s怎么回事
-
Spring不需要加s的原因是因为Spring框架的名称本身就是“Spring”,而不是“Springs”。这个名称源于英文单词“spring”的意思是“春天”,代表着焕发、活力和新生的含义。
Spring是一个非常流行的Java开发框架,用于构建企业级应用程序。它提供了许多功能和特性,包括依赖注入、面向切面编程、声明性事务管理、Web开发和集成等。Spring框架的设计目标是提高开发效率、降低代码的耦合性,并且使应用程序更易于维护和测试。
为什么Spring不需要加s?主要有以下几个方面的原因:
-
命名一致性:Spring框架的创建者Rod Johnson选择了“Spring”作为框架的名称,并希望将其作为一个简洁、易于理解和记忆的名称。将其更名为“Springs”将导致与该框架的命名不一致,可能造成误解和混淆。
-
规范性:Spring框架是一个开源框架,其名称已经在社区中得到广泛认可和接受。按照通常的命名规范,我们应该使用原始名称“Spring”,以避免引起不必要的疑惑。
-
习惯用法:虽然许多英文单词在变为复数形式时需要加上s,但是对于某些特定的名词,复数形式并不常见或不可接受。 Spring作为软件框架的名字就是采用了这种特殊的形式。
综上所述,Spring框架的名称是“Spring”,不需要加上s。这个命名选择是出于简洁、易于理解和遵循规范的考虑。无论是开发者还是用户,在使用Spring框架时都应该使用正确的名称。
1年前 -
-
在Spring中,有一种命名规范叫作单复数变量名的规范。根据这个规范,在命名Java类的时候,类名一般使用单数形式,而对应的表名则一般使用复数形式。这是因为在数据库中,表通常以复数形式命名。
然而,在Spring中,并不强制要求使用复数形式来命名表名。Spring提供了一种配置方式,通过设置
spring.jpa.hibernate.naming.physical-strategy属性的值来控制表名的生成规则。默认情况下,Spring使用的是一个名为org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy的策略类。该策略类默认会将实体类的名字转换为小写,并在末尾加上一个
s,然后作为表名,例如User类对应的表名就是users。但是你也可以自定义策略类,根据自己的需求来决定表名的生成规则。如果你不喜欢表名是复数形式,可以使用以下方式来禁用复数形式的表名生成:
-
在
application.properties文件或application.yml中添加以下配置:spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl这样就会使用Hibernate默认的命名策略,不会自动增加
s。 -
自定义一个命名策略类,继承
org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl类,并覆盖toPhysicalTableName方法,将表名的生成规则修改为你所需的方式。然后,在配置文件中设置spring.jpa.hibernate.naming.physical-strategy属性为自定义策略类的全限定名。 -
在实体类上使用
@Table注解,手动指定表名。例如:@Entity @Table(name = "user") public class User { // ... }这样就将实体类
User映射到名为user的表。
需要注意的是,在使用不同的数据库管理系统时,可能会有些差异。不同的数据库在对表名大小写敏感的处理上也有所不同。因此,如果遇到大小写敏感的数据库系统,可能还需要进行额外的配置或处理。
1年前 -
-
在Spring框架中,有一个非常常见的类命名规定,即类名后缀为"Controller"、"Service"、"Repository"等。但是在这些类的命名中,有一个特例是不需要加上"s"的。这是因为这些类的命名与Spring框架中的注解紧密相关。
具体来说,这些特例类包括:Bean、Component、Configuration、ConfigurationProperties、Value等。下面将详细介绍这些类在Spring框架中的作用和使用方法。
- Bean类
Bean类是Spring框架中最基本的组件。它是一个普通的Java对象,由Spring容器负责实例化、配置和管理。为了让Spring能够识别和管理Bean类,通常会在Bean类上添加@Component或者@Bean注解,这样Spring容器就会自动将其实例化为一个Bean对象。
- Component类
Component类是一个通用的注解,用于将普通的Java类标识为Spring组件。使用@Component注解标记的类会被Spring容器扫描并实例化为Bean对象。Component通常作为基本的构建块,用于组合更复杂的注解。
- Configuration类
Configuration类是一个特殊的Bean类,用于定义Spring应用程序的整体配置。与普通的Bean类不同,Configuration类通常在其中定义一系列的Bean对象,并且这些Bean对象会被Spring容器管理和注入到其他组件中。使用@Configuration注解标记的类会被Spring容器扫描,并将其中定义的Bean对象注册到容器中。
- ConfigurationProperties类
ConfigurationProperties类用于将配置文件中的属性值注入到Bean对象中。通过在某个Bean类上添加@ConfigurationProperties注解,Spring容器就会自动读取配置文件中的对应属性值,并将其注入到该Bean类的属性中。这样可以实现配置属性的外部化管理,方便修改和维护。
- Value类
Value类是一个注解,用于将配置文件中的属性值注入到Bean对象的属性中。通过在某个Bean类的属性上添加@Value注解,Spring容器就会自动读取配置文件中的对应属性值,并将其注入到该属性中。与@ConfigurationProperties不同,@Value注解是一种更为灵活的属性注入方式,可以直接注入特定的属性值,而不需要配置文件的前缀。
需要注意的是,尽管这些特例类的命名规则与其他Spring类不同,但它们的作用和使用方式都是相似的。它们都是用来标记或配置Spring框架中的组件,并由Spring容器进行管理和注入。因此,无论是在命名规则还是使用方法上,都需要按照Spring框架的规范进行使用。
1年前