SpringBoot项目中注解的含义_一位码农的成长之路的博客-程序员宅基地_springboot注解是什么意思

技术标签: spring  spring boot  java  mybatis  SpringBoot  

@Component

@Component:是Spring中用于描述Bean类的一个注解。用于告诉Spring这个类的实例由Spring创建,当此对象由Spring创建和管理时,默认会将对象存储到池(Bean池)中。

@Controller
public class GoodsController {
    

}

@SpringBootTest

@SpringBootTest:该注解用于告诉spring框架,此测试类交给spring管理。

@SpringBootTest
public class GoodsDaoTest {
    

}

@Autowired和@Qualifier

@Autowired:该注解描述属性时,用于告诉spring框架要为此属性注入一个值。其基本规则是:

  1. 首先,要检测容器中是否有与属性或方法参数类型匹配的对象,假如有并且只有一个则直接注入。
  2. 其次,假如检测到有多个,还会按照@Autowired描述的属性或方法参数名查找是否有名字匹配的对象,有则直接注入,没有则抛出异常。
  3. 最后,假如我们有明确要求,必须要注入类型为指定类型,名字为指定名字的对象还可以使用@Qualifier注解对其属性或参数进行描述(此注解必须配合@Autowired注解使用)。
    @Qualifier:该注解就是对其属性或参数进行描述。
@Autowired
@Qualifier("weakCache")
private Cache cache;

@Lazy

@Lazy:该注解用于描述类,其目的是告诉spring框架此类支持延迟加载,通常会配合单例作用域使用。

@Lazy
public class GoodsController {
    
}

@Scope

@Scope:该注解是Spring中用于定义Bean对象作用域的一个注解,其常用的值有:

singleton prototype
整个内存有一份Bean实例,此实例何时创建与类的延迟加载特性配置有关,此实例创建以后,生命周期会由spring框架管理 每次获取都会创建新实例,此实例会在需要时创建与lazy特性无关,这个实例创建以后,不会交给spring管理,spring可以对其初始化,但不负责销毁。
@Scope("singleton")
public class GoodsController {
    
}

@PostConstruct

@PostConstruct:该注解用于描述bean对象生命周期方法中的初始化方法,此方法会在对象的构造方法之后执行(是对象创建以后的初始化)

@PostConstruct 
public void init() {
    
	System.out.println("init()");
}

@PreDestroy

@PreDestroy:该注解用于描述Bean对象生命周期方法中的销毁方法,此方法会在对象销毁之前执行(当作用域为prototype时,此方法不会执行)。

@PreDestroy
	public void close() {
    
		System.out.println("close()");
	}

@Mapper

@Mapper:该注解是由MyBatis框架中定义的一个描述数据层接口的的注解(所有的注解只起到一个描述性的作用),用于告诉Spring框架此接口的实现由mybatis创建,并将其实现类对象存储到spring容器。

@Mapper
public interface GoodsDao {
    
}

@Param

@Param:该注解用于将括号内的参数进行引用

int deleteObjects(@Param("ids")Integer... ids);

@Controller

@Controller:该注解用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了

@Controller
public class GoodsController {
    
}

@RequestMapping

@RequestMapping:该注解用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

@RequestMapping("findAll")
public String findAll(Model model) {
    
    List<User> lists = goodsService.findAll();
	model.addAttribute("list", lists);
    return "goods";
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44720308/article/details/109103243

智能推荐

Linux自动判断是否插入网线的几种方法_iteye_11541的博客-程序员宅基地

在嵌入式产品上,如何让用户选择有线还是无线上网呢?如何让他们判断使用了哪种方式上网呢?我们是这样处理的:优先使用网线上网,稳定。即程序自动判断,如果查了网线,则使用网线上网,如果没有网线连接,则无线上网。 所以,问题的重点是如何判断用户是否插了网线!下面介绍四种方法,仅供参考。方法一:/mnt/wifi$ cat /proc/net/devInter-| Receive |Tr...

[小技巧] 用搜索引擎查找博客中的内容_HaveFunInLinux的博客-程序员宅基地

有些博客里没有搜索博客的选项,可以用搜索引

jset编写测试vue代码_Vue 测试速成班_毛正奇的博客-程序员宅基地

原文地址:https://dev.to/blacksonic/vue-testing-crash-course-59kl原文作者:Gábor Soós译者:马雪琴声明:本翻译仅做学习交流使用,转载请注明来源。在你快要完成一个项目时,突然工程里的很多地方都出现了 bug,你修完一个又冒出新的一个,就像在玩打地鼠游戏一样……几轮下来,你会感到一团糟。此时有一个可以让你的项目再次发光的解救方案...

Java集合中HashMap日常问题及解决办法_想学习大数据的博客-程序员宅基地

前言  今天在学习Java中Session的时候,利用了Session可持久化保存服务器端的特性尝试做了一下用HashMap嵌套的购物车(没有将购物车的商品信息保存在数据库中),之所以做的这么麻烦是为了巩固之前学习的Map知识和锻炼逻辑能力,正好也在其中遇到了一个关于HashMap 的问题,在此做个小小的记录,方便日后查看。问题  服务器端保存购物车商品信息用的是HashMap嵌套,内层H...

自动驾驶前沿综述:基于深度强化学习的自动驾驶算法_3D视觉工坊的博客-程序员宅基地

来自|Paperweekly 作者 | 陈道明学校 | 布里斯托尔大学研究方向 | 自动驾驶方向文章仅用于学术分享这是 21 年的一篇综述文章,可以算得上是最前沿的自动驾驶技术综述。这几年随着深度表征学习的发展,强化学习领域也得到了加强。本文会对目前最先进的自动驾驶 DRL 算法进行汇总和分类。论文标题:Deep Reinforcement Learning for...

Hystrix DashBoard 监控配置方式以及 Hystrix.stream 404 问题_不懂的浪漫的博客-程序员宅基地

Hystrix DashBoard 监控配置方式以及 Hystrix.stream 404 问题文章目录Hystrix DashBoard 监控配置方式以及 Hystrix.stream 404 问题配置 Hystrix DashBoard解决方案配置 Hystrix DashBoardSpring Cloud 版本:Spring Cloud Finchley三个依赖:spring-cloud-starter-netflix-hystrixspring-boot-starter-actuato

随便推点

jz2440(韦东山开发板)内核烧录_当霸气遇到侧漏的博客-程序员宅基地

1,解压缩2,打补丁patch -p1 &lt;../"patch补丁"3,find -name "*defconfig"make menuconfig生成.config韦东山开发板使用的是cp config_ok .config4,进入uImage的路径内cd /arch/arm/boot5,删除文件系统OpenJTAG&gt;nand erase root...

Unity自带范例的默认安装路径(AngryBots和Bootcamp Demo)_u010509143的博客-程序员宅基地

目录Components(237)Unity圣典(11)新闻(17)教程(5)资源(2)Manual(219)Substance(5)Designer(5)EZ GUI(1)Unity大学堂(0)RSS订阅订阅更新热门文章万向节死锁(Gimbal Lock)静态模型的Lightmap(光照贴图)与Vertex-Lighting(顶点光照)比较Unity自带范例的

Kerberos配置_坚强勇敢的baby的博客-程序员宅基地_kerberos配置

目录1.主机配置步骤1.1安装并开启ntp服务1.2安装kerberos服务器1.3修改配置1.4创建/初始化kerberos database1.5使用kadmin.local新增用户1.6启动kerberos服务1.7 测试登陆2.客户机端配置2.1安装并开启ntp服务2.2安装kerberos客户机端2.3修改客户机配置2.4测试客户机连接...

Page migration_不想做火影的海贼王的博客-程序员宅基地

网址:https://www.kernel.org/doc/html/latest/vm/page_migration.htmlPage migration allows moving the physical location of pages between nodes in a NUMA system while the process is running. This means that the virtual addresses that the process sees do not cha

PAT甲级练习1016. Phone Bills (25)_a1025461748的博客-程序员宅基地

1016. Phone Bills (25)时间限制400 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueA long-distance telephone company charges its

mybatis-plus 实体类字段和数据库字段名 解决办法_南大白的博客-程序员宅基地_mybatis-plus 字段名

使用注解@TableField(“name”),值就是数据库的字段名自增@TableId(value="id",type= IdType.AUTO)

推荐文章

热门文章

相关标签