SSM中常用的注解

9 篇文章 0 订阅
8 篇文章 0 订阅

目录

@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框架会根据注解的配置自动完成依赖注入的过程。依赖注入可以提高代码的可维护性和灵活性,并简化了组件的创建和配置过程。

  • 17
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSMSpring + SpringMVC + MyBatis)框架,有许多常用注解,下面是它们的详细解释: 1. @Controller:用于标识控制层组件,相当于在 Spring 的 @Component。 2. @Service:用于标识服务层组件,相当于在 Spring 的 @Component。 3. @Repository:用于标识 DAO 层组件,相当于在 Spring 的 @Component。 4. @Autowired:自动装配,用于自动注入其他组件的实例。 5. @Resource:自动装配,用于自动注入其他组件的实例,与 @Autowired 类似,但它是按照名称进行注入。 6. @RequestMapping:映射处理器,用于处理请求和响应的映射关系。 7. @RequestParam:用于获取请求参数的值。 8. @PathVariable:用于获取请求路径的参数值。 9. @ResponseBody:用于将方法的返回值转换为 JSON 格式返回给客户端。 10. @Transactional:事务注解,用于开启事务管理。 11. @Aspect:切面注解,用于定义切面,实现面向切面编程。 12. @Before:前置通知注解,用于在目标方法执行前执行通知。 13. @AfterReturning:后置通知注解,用于在目标方法执行后执行通知。 14. @AfterThrowing:异常通知注解,用于在目标方法抛出异常时执行通知。 15. @Around:环绕通知注解,用于在目标方法执行前后执行通知。 16. @Pointcut:切点注解,用于定义切点,指定切面作用的方法。 以上是常用SSM 框架注解,掌握它们对于快速开发高效的项目是非常有帮助的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值