SpringBoot注解分析

SpringBoot注解分析_第1张图片

@EnableAutoConfiguration:声明这是一个SpringBoot声明的程序主类,这个注解是SpringBoot的注解

@ComponentScan("com.hfk.microboot") : 扫描器扫描com.hfk.microboot包下的所有程序类

SpringBoot注解分析_第2张图片

这个是我com.hfk.microboot包下的程序类我现在去访问localhost:8080看到的结果如下:

SpringBoot注解分析_第3张图片

下面我给大家介绍一个SpringBoot里面的一个非常重要的概念 : 子包的概念,子包在以往的SSM的开发过程中或许很陌生,但是对于SpringBoot来讲子包是一个非常重要的概念,意思就是说你所有的业务类必须要放到程序主类的子包下面这是我个人的一个强烈建议也是SpringBoot官方给出的建议,可能有人会问有要求不在子包的时候吗? 我告诉你有,在SpringCloud里面人家就要求你不能在子包,具体要怎么解决这个问题等咱们SpringBoot去结合SpringCloud的时候再去讲.  

子包子包什么叫子包看图

SpringBoot注解分析_第4张图片

我现在的Controller是不是在程序主类的子包下面 

com.hfk.micro  

com.hfk.micro.Controller

所以说你的业务类一定要放到程序主类的子包下面,别到时候扫描不到,你就看看你的业务类是不是正程序主类的子包下面

接着上一个话题两个注解

@EnableAutoConfiguration

@ComponentScan("com.hfk.microboot")

这两个注解是声明的是我现在的这个程序类是一个基于SpringBoot的程序类并且我要去扫描com.hfk.microboot下的所有的业务类,但是我们不能这样写也不是不能这样写,这样写是一个最笨的方法,下面大家来看一个注解:

SpringBoot注解分析_第5张图片

@SpringBootApplication:

这个注解是SpringBoot的注解其实他是一个复合注解,这个注解代替了@EnableAutoConfiguration和@ComponentScan("com.hfk.microboot")有兴趣的可以点开这个注解的源码看看,这个注解的意思就是声明这个程序类是一个基于SpringBoot的程序主类然后自带开启子包扫描

再给大家介绍个注解:

@RestController

直接看图

SpringBoot注解分析_第6张图片

在上图的代码中我们可以看到@Controller、@RequestMapping("/")、@ResponseBody这么几个注解,什么意思呢?学过Spring的都知道是什么意思@Controller控制器、@RequestMapping("/")映射地址、@ResponseBody以Rest风格返回一个josn串,在咱们大部分的开发中一般都是返回Rest风格,然后咱们每一个方法上面都要去加上@ResponseBody这个注解是不是很繁琐?你加上@ResponseBody他就给你返回Rest风格不加他就会认为你在控制台输出,为了解决这个繁琐的问题,SpringBoot官方给出了一个注解:

@RestController

具体看下图

SpringBoot注解分析_第7张图片

在如上图中可以看到我并没有使用@ResponseBody这个注解去声明方法他也可以返回Rest风格,因为什么呢?因为用@RestController声明的类里面所有的方法都只能返回Rest风格,别的不能返,当然呢,等不需要返回Rest风格的时候可以再把@RestController换成@Controller

你可能感兴趣的:(SpringBoot注解分析)