Springboot注解
创始人
2024-01-26 13:27:54

Springboot注解

@SpringBootApplication

这个注解是Spring Boot最核心的注解,用在 Spring Boot的主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。

实际上这个注解是@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解的组合。

@Configuration

        代表是一个配置类

@ComponentScan

        指定包扫描

@EnableAutoConfiguration

        该注解是由下面两个组合

        @AutoConfigurationPackage

                自动配置包,利用Registrar.class给容器中导入一系列组件(获取当前类所在的包,然后加载包里面所有的组件)

        @Import(AutoConfigurationImportSelector.class)

                加载127个自动配置类(这些配置类会按需配置,只有满足条件才生效)

@Controller

@Controller表示在tomcat启动的时候,把这个类作为一个控制器加载到Spring的Bean工厂,并且对其实例化(new)。如果不加,就是一个普通的类,和Spring没有半毛钱关系。

@RestController(结合GetMapper,PostMapper,PutMapper....使用)

RestController = Controller + ResponseBody

Controller 返回的是页面

RestController 返回的是输出结果,如json,是提供前端获取数据,提交数据

@RequestMapping

RequestMapping就是一个映射路径。

(如果在同一个Controller里面设置两个相同的RequestMapping,编译可以通过但是tomcat启动后会报错,系统无法进行映射)

根据它们处理的request的不同内容可以分为四类(常用的类型)。
第一类:处理request body部分的注解有:@RequestParam和@RequestBody
第二类:处理requet uri部分的注解有:@PathVaribale
第三类:处理request header部分的注解有:@RequestHeader和@CookieValue
第四类:处理attribute类型的注解有:@SessionAttributes和@MoelAttribute

@ResponseBody的作用

在Controller里面,@ResponseBody就是说明这个方法返回的东西会通过IO流的方式写入到浏览器

@Service,@Component

bean注册

@Autowired,@Resource ,@Autowired+@Qualifier

获取bean

@Resource = @Autowired+@Qualifier

如果接口实现只有一个,直接用,不需要指定名字

如果有多个,建议用@Resource(name = "”) 并指定name(推荐)

也可以用@Autowired+@Qualifier("value") 并指定value值

@Values

从配置文件中取参数

@Configuration + @Bean   -->SpringBoot启动会自动注册组件,默认单实例

给类标准@configuration 标注这是一个配置类 (相当于配置文件)

给方法名@Bean  将该方法标注为组件,id为方法名,返回值就是容器中的实例

 

(@configuration(proxyBeanMethods = ture)默认  代理对象,使组件单实例

当多次调用配置类中的组件(bean),获取的组件都是相等的

 

Full(当参数为true)   每次调用返回容器中的组件,启动时会去检测容器是否存在组件 (全模式)

Lite(当参数为false)  每次调用都会返回新的组件, 启动时不会去检测容器中是否存在组件(轻量级模式)

@ConfigurationProperties

在实体类中标注 @ConfigurationProperties(prefix="mycat ")

 使配置文件和属性一一绑定

配置文件

mycat.brand = 比亚迪

mycat.price = 100000

实体类

private String brand;

private String price;

 

不过还 需要加@component,把类设置为容器中的组件

因为只有是容器中的组件才能使用该springBoot注解

 

 

@Import

给类标注@Import(User.class);

容器自动创建该类型组件,默认名称是全类名(com.**.user)

@ImportResource

在任意一个类上标注  @ImportResource("xxxx.xml")   导入Spring配置文件

@Conditional 

@conditionalOnBean                  但存在某个Bean时干什么

@conditionalOnMissingBean      但不存在某个Bean时干什么

 ....

@ConditionalOnBean(name="  "  或  type="  "  或  value="   ")  可以写类名或类型


 

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
丹顶鹤简笔画 仙鹤怎么画好看 仙鹤,也就是丹顶鹤,是生活在沼泽或者浅水地区的一种大型禽鸟,是长寿和高雅的象征,人们心中十分喜爱的吉...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
赛艇运动起源于哪个国家 水上巴... 学习强国之起源总结. 冬奥会上的冬季两项比赛项目起源于斯堪的纳维亚半岛,由远古时代的【】演变而来。A...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...