注意这里大部分都是自己的理解。可能有很多错误,请谨慎点。。。
注解我不会跟进的太深,跟进太深会不可避免地进入源码,
但我现阶段的水平,能搞清楚注解的功能就不错了。。。
springboot版本,在根目录下的pom.xml中,为2.1.5版本。
在官方文档中指定了各种依赖的版本。
其中:
springmvc的版本为5.1.7 官方文档
spring-core的版本也为5.1.7 官方文档
了解一下别名机制先。。。
这是@SpringBootApplication注解的内容。
红圈中的代码表示将scanBasePackages作为@ComponentScan注解的basePackages参数。
spring部分
@Configuration
在这里@Configuration的作用应该是加载spring容器并注册bean。相当于替换了一个spring的xml配置文件。
@ComponentScan
与@Configuration配合,指定需要扫描的包。
@EnableTransactionManagement
开启spring事务
@EnableScheduling
开启spring的定时任务
springMVC部分
@RestController
该注解包含了@Controller和@Responsebody功能。
@Controller
指明这是一个控制器类,可以被扫描到。
@Responsebody
对http请求直接返回json数据。
@Requestbody
将http请求内容写入到对象中
@GetMapping
处理post请求,作用在方法上指明方法处理的url。
@PostMapping
处理get请求,作用在方法上指明方法处理的url。
springboot部分
@SpringBootApplication
包含了@EnableAutoConfiguration
@ComponentScan
@Configuration
这三个注解的功能。
@EnableAutoConfiguration
让springboot根据你引入的starter来猜你的需求,并做配置。这边我个人理解的并不好。
@Validated
开启校验,这篇文章做了很好的解释,可惜我没在官网上找到对应的详细内容。
Mybatis部分
@MapperScan
指定mybatis扫描Mapper包的路径
Shiro部分
@RequiresAuthentication
指定该方法需要通过权限验证。