SLF4J
Simple Logging Facade for Java(具体的一种实现)
应用此API的起因
1)此API定义了日志的标准-程序中倡议耦合标准(其目标
进步其可扩展性)
2)此API的具体实现
ch.qos.logback.classic.logger
3)为什么不必log4j
SpringBoot内置就是logback(它自身的性能比拟log4j好)
异步日志:logback~~~~
4)我的项目中的日志大部分是异步(logback)写的,是为了进步用户体验
日志有八种级别
mvc
mvc是什么
视图层(View),管制层(Controller),模型层(Model),通过这样的分层设计让咱们程序具备更好的灵活性和可可扩展性.因为这样能够将一个简单应用程序进行简化,实现各司其职,各尽所能.比拟适宜一个大型利用的开发
网页呈现日志404问题查找
url门路有问题或者服务器没有失常启动
确定端口是否统一(server.port=80 在application.properties里改端口为80)
是否有注解形容
网页日志500谬误(TemplateInputException模板解析异样)
请看服务端异样
指定的目录不存在(门路有可能不对)
springboot配置文件的模板前缀后缀(后缀默认为spring.thymeleaf.suffix=.html,前缀须要本人去配置spring.thymeleaf.prefix=classpath:/templates)与wed配置不统一
次要就是springmvc响应和申请的形式以及流程。
//1.返回值会交给DispatcherServlet对象进行解决
//2.DispatcherServlet对象会调用viewresolver对后果进行解析
//2.1基于viewname找到对应的view页面(prefix+viewname+suffix)
//2.2将model中的数据填充到view页面上
//2.3返回一个带有module数据的页面给DispatcherServlet
//3.DispatcherServlet将带有model数据的页面响应到客户端
流程图MVC
spring.thymeleaf.cache=false(对view的缓存时能够编译)
model底层是通过map贮存数据的
在springmvc中会帮咱们封装成modelandview对象
客户端向服务器发送一个申请,服务端解决完申请之后,间接响应数据封装到model中 而后和view一起响应给客户端
问题?
1)在这种利用实现过程中,如果controller解决数据的工夫比拟长,会间接影响页面响应工夫长,给用户带来的体验不好
2)在以后大前端高速倒退的过程中,各中端都有,有的端可能只须要服务端的数据但不须要服务端页面,而咱们将数据和页面绑定在一起返回,这样做扩展性不好
阐明:很多种小型企业外部的管理系统间接就是springboot+thymyleaf技术实现
注:开源网页能够看看Ruoyi
json是一种轻量级
说说你对依赖注入的了解
- 谁依赖于谁:当然是应用程序依赖于IoC容器;
- 为什么须要依赖:应用程序须要IoC容器来提供对象须要的内部资源;
- 谁注入谁:很显著是IoC容器注入应用程序某个对象,应用程序依赖的对象;
- 注入了什么:就是注入某个对象所须要的内部资源(包含对象、资源、常量数据)。
谈谈你对MVC的了解
MVC是Model—View—Controler的简称,MVC是一种设计模式
视图: 视图是用户看到并与之交互的界面。视图向用户显示相干的数据,并承受用户的输出。视图不进行任何业务逻辑解决。
模型: 模型表示业务数据和业务解决。相当于JavaBean。一个模型能为多个视图提供数据。这进步了应用程序的重用性
控制器: 当用户单击Web页面中的提交按钮时,控制器承受申请并调用相应的模型去解决申请。
而后依据解决的后果调用相应的视图来显示解决的后果。
MVC的处理过程:首先控制器承受用户的申请,调用相应的模型来进行业务解决,并返回数据给控制器。控制器调用相应的视图来显示解决的后果。并通过视图出现给用户。
2.我的项目中为什么应用SSH
(1). 应用Struts是因为struts是基于MVC模式的,很好的将应用程序进行了分层,使开发者更关注于业务逻辑的实现;第二,struts有着丰盛的taglib,如能灵活运用,则能大大提高开发效率。
(2). 应用Hibernate:因为hibernate为Java利用提供了一个易用的、高效率的对象关系映射框架。hibernate是个轻量级的持久性框架,功能丰富。
(3). 应用Spring:因为spring基于IoC(Inversion of Control,反向管制)和AOP构架多层j2ee零碎的框架,但它不强制你必须在每一层中必须应用Spring,因为它模块化的很好,容许你依据本人的须要抉择应用它的某一个模块;采纳IoC使得能够很容易的实现bean的拆卸,提供了简洁的AOP并据此实现事务管理(Transcation Managment),等等
- JAVA三大框架的各自作用
hibernate是底层基于jdbc的orm(对象关系映射)长久化框架,即:表与类的映射,字段与属性的映射,记录与对象的映射 数据库模型 也就是Model;
struts提供的丰盛标签是用于显示层View;同时struts也充当了实现Control的性能(不论是Struts1,还是Struts2),接管参数,视图散发。
Spring是用于升高层与层间耦合度的,就是所有的类都能够由spring对立创立,用时只需注入即可(IOC)
从性能上来说,hibernate为M,struts2 为V,也能够为C,spring能够为C。
但大多数我的项目中,hibernate为M,struts2 为V+C,spring用来帮忙治理类以及实现一些业务无关性能,如日志记录等,大多数都是用struts来做C的。put的底层实现