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时干什么

@ConditionalOnProperty             存在某个配置的时候生效

 ....

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


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值