SpringBoot
-
SpringBoot的配置文件:bootstrap.yml>application.properties>application.yml(有层次感)书写方式不同,前者优先级更高
-
接口与接口之间,前后端之间数据的传输都使用json格式,Springboot默认jackson,在Controller中添加 注解"RestController"即可返回json格式的数据
-
SpringBoot内部已经集成了Slf4j(接口)和LogBack(实现)只需要在yml中配置,然后在要使用的类中用LoggerFactory创建即可,可以占位符打印一些参数信息 logger.info("参数1:{}",str); 、
private static final Logger log = LoggerFactory.getLogger(ConsumerController.class); -
Yml配置信息少量可以用@Value注解获取 多的话可以创建配置类使用@ConfigurationProperties注解去获取配置,在controller用@Resource去引入使用
-
Thymeleaf:服务端java模板引擎(模板文件放在templates目录下,静态资源放在static目录下) 可以展示静态数据,也可以像jsp一样从后台获取数据 相关配置:
Spring: thymeleaf: cache: false #关闭页面缓存 mode: LEGACYHTML5 #使用遗留的html5以去掉对html标签的校验Thymeleaf是基于html的,所以在html中要导入命名空间的约束xmlns:th="www.thymeleaf.org"
-
Thymeleaf常用标签
- th:object="${}":获取对象
- th:value="${对象.属性名}":获取对象的值
- th:each="user: ${list}":进行遍历
- th:href="@{}":超链接
- th:action="@{}":表单提交
- th:if="${}":条件判断
-
自定义拦截器implements HandlerInterceptor
- preHandle:拦截到方法,在方法之前执行
- postHandle:方法执行之后,还没视图渲染之前执行
- afterCompletion:整个请求处理完成后执行
- 然后注册拦截器
-
Springboot整合Redis,导入Redis依赖和fastson
- StringRedisTemplate:提供字符串操作,可以将实体转成json字符串,在取出来时,也可以转成相应对象
- opsForValue:操作字符串
- opsForHash:操作hashMap
- opsForList:操作list
- opsForSet:操作set
-
Springboot jpa JPA(Java Persistence API),Java持久化API,仅仅是一种规范,Hibernate实现了JPA规范。
-
自动装配原理
-
他是通过SpringBootApplication核心注解实现的
-
这是个组合注解,里面有
-
比方@SpringBootConfiguration:标注当前是个配置类
-
@ComponentScan:扫描过滤器,过滤出来加到Spring容器里 (带有@Controller,@Service,@Component)
-
其中开启自动配置功能的是@EnableAutoConfiguration
-
这个注解下Import导入了一个组件的选择器,AutoConfigurationImportSelector
-
里面有个SelectImports方法,他会从spring.factories这个文件里获取自动配置类加载到容器里,这样SpringBoot在启动的时候就会实现自动装配 (文件是一个Key-Value的形式)
-
-
SpringBoot采用约定大约配置的方式,减少了配置文件的使用,POM引入依赖,开箱即用
-