SPRING常用注解及其作用

news/2024/12/2 17:58:38/

SPRING常用注解及其作用

1)声明bean的注解

@Component是一种注解,用于标识一个类作为组件(Component)。组件是Spring中的一个通用术语,用于表示可被Spring容器管理和使用的对象。通过该注解,可以实现组件的自动扫描、实例化、依赖注入和配置管理等功能。

@Service是Spring框架中的一个注解,用于标识一个类作为服务层组件(Service)。服务层组件主要用于封装业务逻辑,提供业务功能的实现。通过该注解,可以将类标识为服务层组件,并交由Spring容器管理,享受依赖注入、事务管理、AOP等功能。它有助于提高代码的可读性和理解性。

@Repository是Spring框架中的一个注解,用于标识一个类作为数据访问层组件(Repository)。数据访问层组件主要用于封装对数据库或其他持久化存储的访问操作,提供数据的增删改查等功能。通过该注解,可以将类标识为数据访问层组件,并交由Spring容器管理,享受依赖注入、事务管理、AOP等功能。它有助于提高代码的可读性和理解性。

@Controller是Spring框架中的一个注解,用于标识一个类作为控制器层组件(Controller)。控制器层主要负责接收用户请求并处理请求,将处理结果返回给用户。@Controller注解,Spring容器能够自动识别并实例化控制器层组件,并能够自动将请求映射到对应的控制器方法进行处理。同时,控制器层组件也可以享受到Spring提供的其他功能,如依赖注入、事务管理、AOP等。

需要注意的是,@Controller注解是在Spring MVC框架中使用的,用于标识控制器层组件。在使用Spring MVC框架时,通过@Controller注解标注的类会被Spring MVC容器管理,用于接受和处理用户请求。而在非Web应用中,@Controller注解一般不会被使用,可以使用@Component注解代替。总结而言,@Controller注解是Spring框架中用于标识控制器层组件的注解,在Spring MVC框架中使用。通过该注解,可以将类标识为控制器层组件,并交由Spring MVC容器管理,实现用户请求的处理和结果返回。

2)注入bean的注解

@Autowired 属于Spring框架,由Spring提供默认使用类型(byType)进行注入, 按照类型匹配失败,再按照名字ByName匹配;

@Resource是Java的注解.由JSR-250提供Spring支持@Resource。@Resource首选按byName 自动注入,如果匹配失败再按照类型byType匹配注入。

简单理解,@Resource的作用相当于@Autowired。 @Autowired首选按byType自动注入,而@Resource首选按byName自动注入。

  1. Java配置类相关注解

@Configuration 声明当前类为配置类

@Bean 注解在方法上,声明当前方法的返回值为一个bean

@ComponentScan 用于对Component进行扫描

@EnableAspectJAutoProxy注解开启Spring对AspectJ代理的支持(

@Scope 设置Bean的作用域

@PostConstruct 由JSR-250提供,在构造函数执行完之后执行

@PreDestory 由JSR-250提供,在Bean销毁之前执行

@Value 为属性注入值

@PropertySource 加载配置文件

@EnableScheduling 在配置类上使用,开启计划任务的支持


http://www.ppmy.cn/news/290170.html

相关文章

一文带你读懂:TCP连接的三次握手和四次挥手(上篇)

TCP 是面向连接的协议,所以使用 TCP 前必须先建立连接,而建立连接是通过三次握手来进行的。 天下没有不散的宴席,对于 TCP 连接也是这样, TCP 断开连接是通过四次挥手方式。 下面我们通过实操,来彻底理解三次握手和四次…

一文带你了解MySQL之锁

目录 一、解决并发事务带来问题的两种基本方式1.1 一致性读(Consistent Reads)1.2 锁定读(Locking Reads)1.2.1 共享锁和独占锁1.2.2 锁定读的语句 1.3 写操作 二、多粒度锁三、MySQL中的行锁和表锁3.1 其他存储引擎中的锁3.2 Inn…

std::lock_guard

待续 转载于:https://www.cnblogs.com/osbreak/p/11079967.html

cisco IOS,nexus和Arista 的vrrp

最近有用到Arista 7150S 万兆交换机,基本配置跟cisco 的nexus 比较像,但是跟cisco nexus 还是有些差别,后面大家有类似的场景可以注意下:1,Arista 7150s datasheet 设备延时为350ns,比cisco 的250ns 稍高&a…

【笔记】summary函数: summary文件主要调用一系列模块激活hook,用以搭建model(总的layer)中的每一层网络的正向传播框架,使用model(*x)完成网络的正向传播

流程:首先把model中的每一层网络激活hook,完成正向传播的框架搭建,搭建的过程中顺带将每一层的信息进行统计。然后输出input,完成model的正向传播。 x是input type(x) Out: listtype(x[0]) Out: torch.Tensortype(*x) Out: torch…

启天微型计算机可以开vt吗,如何开启笔记本的Virtualization Technology虚拟化技术功能...

现象描述 笔记本是否支持虚拟化功能?是否能开启?如何操作? 现象分析开启虚拟化技术支持,需几个方面的条件支持:芯片组自身支持、BIOS提供支持、处理器自身支持、操作系统支持。操作系统方面,主流操作系统均…

云时代阿里服务器的演进与展望

在整个基础设施中,服务器是面向最终用户提供计算和存储资源,且在数据中心的整体 TCO 中占比最大的至关重要的角色。服务器从诞生到现在,每一次技术的突破和换代,都是朝着更开放、更易用、更优 TCO、更易交付的方向演进。 本文选自…

07_创建tensor,从numpy创建,从List创建,设置默认类型,rand/rand_like,randint,full,arange,linspace/logspace,linspace等等

1.7.创建Tensor 1.7.1.Import from numpy 1.7.2.Import from List 1.7.3.set default type 1.7.4.rand/rand_like,randint 1.7.5.full() 1.7.6.arange() 1.7.7.linspace/logspace 1.7.7.1.torch.linspace() 1.7.7.2.torch.logspace() 1.7.8.ones/zeros/eye 1.7.8.1.ones 1.7.8.…