springBoot所有功能离不开两大技术IOC和AOP。
IOC进行资源的注册和调用,AOP通过注解动态增加功能。
一个注解就是一个动态代理Aop,面向切面编程。
跟着狂神学SpringBoot
- 环境
SpringBoot 2.2.3配java 11,最新的2.2.6搭配起来有点问题。报错找不到SpringBoot
- Controller
@RestController
可以访问,做后台的访问。
@Controller
只用controller 注解不能访问
用于路由网页,需要配置mvc view suffix
controller 和静态路径
我现在不知道这两个到底是哪个在起作用了。
security 控制的应该是访问静态资源的路径吧。
- yml配置,数据导入
通过yml文件导入数据变量时,需要把需要初始化的变量都放在程序最上边。
SpringBootApplication 启动器
- Spring配置过程:
- 创建容器时需要使用以下配置找到所有配置:
@ AnnotationApplicationContext(有@Configuration 注解的类.class) 获取配置类
- 配置类可以用以下方法:
@ComponentScan("") 指定需要扫描的包,SpringBoot 自动配置当前启动类所在的包以及子包
@PropertySource 配置文件,自动引入yml和property文件,不过有一定的先后顺序
@Import(引入其他配置类),配置类和配置文件具有相同的作用。
- 然后根据每个类上的标注,注入到ioc容器:
@Component(value="name")
@Controller:一般用于表现层的注解。
@Service:一般用于业务层的注解。
@Repository:一般用于持久层的注解。
最后再根据类型在从容器中获取:
@Autowird
AOP动态代理是实现注解功能的方法:
只有在controller里配置的实体才会在swagger里显示。