SSM中常用的注解

2023-12-26 19:16:43

目录

@Configuration注解的作用

@ComponentScan注解

@Bean注解作用

@mapper注解作用

@component(@service、@controller、@repository)作用

负责依赖注入的注解


@Configuration注解的作用

@Configuration注解在Spring框架中用于声明一个Java类为配置类。而配置类是用来声明和定义Spring容器中的Bean的类。它的作用类似于spring.xml文件;后面有图;

@Configuration注解通常与其他注解(如@Bean@ComponentScan等)一起使用,用于指示Spring应该将这个类视为配置类,并根据其定义的Bean来创建和装配Spring容器中的组件。

@Configuration注解的作用有以下几个方面:

  1. 声明配置类:@Configuration注解将一个类标记为配置类,告诉Spring容器这是一个用于配置的类,它会被Spring容器扫描和解析

  2. 定义Bean:配置类中可以使用@Bean注解定义Bean,通过方法返回一个对象,Spring会将该对象作为一个Bean注册到容器中。

  3. 组件扫描:配置类中可以使用@ComponentScan注解来指定扫描的包或类路径,告诉Spring容器在这些位置查找组件。

  4. 注入其他Bean:配置类中可以使用@Autowired或其他注入方式来注入其他Bean,建立依赖关系。

  5. 配置属性:配置类可以使用@PropertySource@Value等注解来加载配置文件和配置属性。

总的来说,@PropertySource注解的作用是将一个类标记为Spring的配置类,告诉Spring容器在这个类中定义和配置Bean,使得Spring能够正确加载和管理这些Bean,并用于应用程序的组件扫描、依赖注入和属性配置等功能。


@ComponentScan注解

@PropertySource注解是Spring框架中的注解之一,名称为组件扫描器,用于指示Spring需要扫描和识别指定包及其子包下的组件。

在Spring应用中,组件通常以@Component注解进行标注,如@Controller@Service@Repository等注解,或者自定义的@Component注解。这些被标注的类可以被Spring自动扫描并作为Bean注册到容器中。

@ComponentScan注解的作用是告诉Spring框架在指定的包及其子包下进行组件扫描,识别带有@Component及其衍生注解的类,并将其注册为Spring容器中的Bean,以便在应用中进行依赖注入和使用。

通过使用@ComponentScan注解,可以省去手动配置每个组件的Bean定义的繁琐过程。Spring将会自动扫描配置的包路径下的组件,并将其自动注册到Spring容器中,简化了项目配置的工作,提高了开发效率。

@ComponentScan注解的常见属性如下:

  • basePackages:指定需要扫描的包路径数组。可以通过字符串数组的形式指定多个包路径,Spring将会扫描这些包及其子包下的组件。


@Bean注解作用

@Bean用于声明一个方法作为一个Bean,并将其注册到Spring容器中。

使用@Bean注解的方法通常位于被@Configuration注解标记的配置类中。这些方法会被Spring容器调用,返回一个对象,然后Spring会将该对象视为一个Bean并将其纳入容器的管理范围。

@Bean注解的作用有以下几个方面:

  1. 定义Bean:通过在方法上添加@Bean注解,可以将方法的返回对象作为一个Bean注册到Spring容器中。Spring会使用方法名作为Bean的名称,除非在注解的name属性中指定了其他名称。

  2. 自定义Bean的配置:通过在方法中编写自定义的逻辑,可以对Bean的创建和初始化过程进行更灵活的控制。可以在方法内部进行各种初始化操作,例如设置属性值、调用其他Bean等。

  3. 控制Bean的作用域:可以使用@Scope注解配合@Bean注解,控制Bean的作用域。默认情况下,Bean是单例模式(Singleton),可以使用@Scope("prototype")设置为原型模式,每次使用该Bean时,Spring容器都会返回一个新的实例。

  4. 基于Java配置的替代方案:@Bean注解提供了一种基于Java配置的替代方案,可以用来替代XML配置文件。通过在配置类中使用@Bean注解,可以集中定义和配置应用程序所需的所有Bean,从而实现对依赖关系的控制和管理。

总结来说,@Bean注解的作用是在Spring容器中定义一个Bean。通过使用@Bean注解,可以将一个方法的返回对象注册为一个Bean,并通过配置类来管理和访问这些Bean。这种基于注解的方式可以简化Bean的配置和管理,提高应用程序的开发效率。


@mapper注解作用

@Mapper注解是MyBatis框架中的一个注解,用于标记一个接口作为Mapper接口,并将其注册到MyBatis的映射器中。

在使用MyBatis进行XML配置方式的数据访问时,需要为每个数据操作接口编写对应的XML文件,并在XML文件中编写SQL语句和映射规则。但是,使用@Mapper注解可以实现纯注解方式的数据访问,省去了编写XML文件的过程。

使用@Mapper注解的作用有以下几个方面:

  1. 声明Mapper接口:@Mapper注解将一个接口标记为Mapper接口,并将其纳入MyBatis的管理范围。这样,MyBatis会自动扫描并处理这些Mapper接口。告诉MyBatis该接口是用于数据访问的接口。

  2. 自动实现接口:MyBatis在应用程序启动时,会扫描标记了@Mapper注解的接口,并自动为其生成对应的实现类,即接口的代理对象。

  3. XML配置替代:使用@Mapper注解可以实现纯注解方式的数据访问,避免了编写XML文件的步骤。可以在Mapper接口中使用注解进行SQL语句的定义,使代码更加简洁和直观。可以配合使用以下注解:@Select@Insert@Update@Delete

  4. 映射器注册:MyBatis会根据@Mapper注解扫描和注册Mapper接口,将其纳入MyBatis的映射器中,以便访问和操作数据库。

总的来说,@Mapper注解的作用是将一个接口标记为Mapper接口,并自动为其生成对应的实现类。通过使用@Mapper注解,可以实现纯注解方式的数据访问,简化了数据访问层@Mapper注解是MyBatis框架中的注解,用于标识一个接口作为Mapper接口,并将其纳入MyBatis的管理范围。通过在接口上添加@Mapper注解,MyBatis会自动扫描这些Mapper接口,并为其生成相应的实现类。这些实现类会根据接口方法上的注解与数据库进行交互,实现数据操作的功能。

通过在接口上添加@Mapper注解,MyBatis会自动扫描这些标记了@Mapper注解的接口,并为每个接口生成相应的实现类。主要有以下两个方面:

  1. 声明Mapper接口:@Mapper注解将一个接口标记为Mapper接口,用于定义与数据库交互的SQL映射方法。通过在接口中定义方法,可以将数据库操作与MyBatis框架进行解耦,使得数据库操作更加简洁和易于维护。

  2. 自动生成实现类:MyBatis通过使用动态代理技术,为@Mapper注解标记的接口生成相应的实现类。这些实现类会根据接口中定义的方法,自动生成对应的SQL语句,并通过MyBatis框架执行与数据库的交互操作。

需要注意的是,为了正确地使用@Mapper注解,还需要保证在配置文件中配置了相关的MyBatis配置,以便正确扫描和加载Mapper接口。


@component(@service、@controller、@repository)作用

  1. @Component注解是Spring框架中的基础注解,用于标记一个类为Spring管理的组件。被@Component注解标记的类会被Spring自动扫描并创建对应的实例,放入Spring容器中。可以通过使用其他注解如@Repository@Service@Controller来进一步细化组件的角色和用途。

  2. @Service注解用于标记一个类为服务层(Service)组件。在Spring应用中,服务层用于处理业务逻辑,并通过调用其他组件(如DAO层)来实现具体的业务功能。被@Service注解标记的类通常包含了业务相关的方法,被业务逻辑层调用。

  3. @Controller注解用于标记一个类为控制层(Controller)组件。在Spring MVC应用中,控制层是处理用户请求和响应的部分,负责将请求映射到具体的处理方法,并生成响应结果。被@Controller注解标记的类通常包含处理HTTP请求的方法,常结合@RequestMapping注解使用。

  4. @Repository注解用于标记一个类为数据访问层(Repository)组件。在Spring应用中,数据访问层负责与数据库或其他数据存储源进行交互,处理数据的增删改查等操作。被@Repository注解标记的类通常包含数据操作相关的方法,如插入、更新、删除和查询数据库中的数据。

总的来说,这四个注解的作用如下:

  • @Component:标记一个类为Spring管理的组件。

  • @Service:标记一个类为服务层(Service)组件,处理业务逻辑。

  • @Controller:标记一个类为控制层(Controller)组件,处理用户请求和响应。

  • @Repository:标记一个类为数据访问层(Repository)组件,与数据存储进行交互。

这些注解的作用是帮助Spring框架理解和处理不同类型的组件,从而实现依赖注入和控制反转等功能。使用这些注解能够使代码更具可读性和可维护性,并利于各层的分离和组件的扩展。

负责依赖注入的注解

在Spring框架中,负责依赖注入(Dependency Injection)的注解有以下几种:

  1. @Autowired用于自动装配依赖,可以用于构造方法、成员变量、setter方法或者方法参数上。Spring会根据类型进行自动装配,将符合类型的Bean注入到对应的位置上。

  2. @Resource用于指定依赖注入的Bean名称。可以用于成员变量、setter方法或者方法参数上。Spring会根据名称进行依赖注入。

  3. @Qualifier用于与@Autowired@Resource一起使用,指定Bean的名称或者限定符(qualifier),用于解决自动装配时的歧义性。

  4. @Value用于将配置属性值注入到Bean中。可以用于成员变量、setter方法或者方法参数上,Spring会根据表达式解析属性值并进行注入。

这些注解的作用是实现依赖注入,将依赖关系从代码中解耦,提高代码的扩展性和可维护性。通过使用这些注解,我们可以将外部的Bean或者属性注入到目标Bean中,消除了手动维护依赖关系的繁琐工作。

依赖注入的作用主要有以下几个方面:

  1. 松耦合:通过依赖注入,实现目标Bean与其依赖的解耦,减少类之间的直接依赖关系,提高了代码的灵活性和可测试性。

  2. 简化配置:使用依赖注入可以减少配置文件中的冗余信息,Spring框架会根据注解自动完成依赖关系的注入。

  3. 代码可读性:通过使用注解,代码中可以直观地看到依赖关系,使代码更加清晰易懂。

  4. 依赖查找:通过依赖注入,我们可以方便地获取所需的依赖对象,简化了手动查找依赖的过程。

总的来说,依赖注入的注解在Spring框架中扮演着重要的角色,可以实现自动装配和解耦依赖关系。通过使用这些注解,我们能够让Spring来管理和维护Bean之间的依赖关系,提升代码的可在Spring框架中,负责依赖注入的注解有以下几个:

  1. @Autowired@Autowired注解用于自动装配(注入)依赖。通过在字段、构造器、或者Setter方法上添加该注解,Spring会自动在容器中查找匹配的Bean,并将其注入到所标注的位置。

  2. @Qualifier@Qualifier注解可与@Autowired一起使用,用于指定具体的注入对象的名称。当多个候选Bean满足依赖关系时,使用@Qualifier注解来进行精确匹配。

  3. @Resource@Resource注解用于进行基于名称的自动装配。通过在字段、方法或构造器上添加该注解,可以根据名称来自动注入对应的Bean实例。

  4. @Value@Value注解用于将外部属性值注入到Spring容器中的Bean中。可以用于注入字符串、基本类型、引用其他Bean等值,也可以通过读取配置文件中的属性值。

这些注解的作用是实现依赖注入,使得我们能够方便地将一个Bean的引用注入到另一个Bean中,从而实现对象之间的解耦和组合。通过使用这些注解,开发者无需手动管理Bean的依赖关系,Spring框架会根据注解的配置自动完成依赖注入的过程。依赖注入可以提高代码的可维护性和灵活性,并简化了组件的创建和配置过程。

文章来源:https://blog.csdn.net/m0_64231944/article/details/135227745
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。