springboot开发总结

springbootweb开发

一.在springboot里面使用jsp
1.需要另外加入tomcat-embed-jasper的依赖
2.需要在配置文件中,配置如下两个配置项
spring.mvc.view.prefix=/WEB-INF/jsp
spring.mvc.view.suffix=.jsp
方法的返回值,是jsp的路径+文件名


springboot如何处理静态资源
1.src/main/webapp目录下,就可以直接访问
2.默认的静态资源路径是ResourceProperties类中的 CLASSPATH_RESOURCE_LOCATIONS = {
"classpath:/META-INF/resources/", "classpath:/resources/",
"classpath:/static/", "classpath:/public/" };
3.可以通过spring.resources.staticLocations配置项修改静态资源路径
二、 springboot中使用servlet
方法一:
1.编写继承servlet的API
2.继承类加上Servlet对应的注解
3.启动类加@ServletComponentScan注解
方法二:(servlet2.5及以下版本可以使用这种方法)
1.编写servlet
2.装配相应的bean到spring容器中
servlet->ServletRegistrationBean
filter->FilterRegistrationBean
listener->ServletListenerRegistrationBean


三、 拦截器(详情查看HandlerInterceptor类
1.写一个拦截器,实现HandleInterceptor接口
2.写一个类,集成WebMvcConfigurerAdapter抽象类,然后重写addInterceptors方法,并调用registry.addInterceptor(new LogHandleInterceptor());把上一步拦截器加进去
preHandle:controller执行之前调用
postHandle:controller执行之后调用
afterCompletion:页面渲染之后调用,一般用于资源清理操作


四、异常处理
如何去掉spring boot默认的异常处理逻辑
@springBootApplication(exclude=ErrorMVCAutoConfiguration.class)


使用ErrorPageRegistrar方法
1.写一个类,实现ErrorPageRegistrar接口,在该方法中添加具体的错误处理逻辑(类似web.xml里面配置错误处理方式)


五、全局异常处理
1.写一个类,需要加上@ControllerAdvice注解
2.写一个异常处理方法,方法上面需要加上@ExceptionHandler(value=Exception.class)这个注解,在该方法里面处理异常


六.Tomcat优化(ServerProperties)(EmbeddedServletContainerCustomizerAutoConfiguration
1.server.tomcat.accesslog.enabled=false/true 
2.server.tomcat.accesslog.directory=H:/logs
两种方法
1.实现EmbeddedServletContainerCustomizer接口,并把实现类纳入到spring容器中管理
2.在spring容器中装配一个EmbeddedServletContainerCustomizer对象


七.装配DataSource
1.加入数据库驱动
2.配置
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot
spring.datasource.username=root
spring.datasource.password=15200229445 
spring.datasource.type指定数据源(DataSourceAutoConfiguration查看支持的数据源)



九.事物
1.类上加@EnableTransactionManagement启用对事物的支持
2.需要事物控制的方法或者类加@Transactional(默认只对运行时异常进行事务回滚,非运行时异常不会回滚事务)


十.AOP开发流程
1.加入依赖,默认就开启了aop支持(spring.aop.auto配置开关)
2.写一个Aspect,封装横切关注点(日志,监控等等),需要配置通知 和 切入点
3.纳入spring容器管理,并且需要加@Aspect
默认是使用基于JDK的动态代理实现AOP
spring.aop.proxy-target-class=false 或者不配置 使用动态代理
如果配置了false而类没有接口,则依然使用cglib


十一.开发spring boot starter步骤
1.新建一个maven项目
2.创建一个配置类,配置类里面需要装配好需要提供出去的类
3.
1)使用@Enable,使用@Import导入需要装配的类

2)/META-INF/spring.factories,在org.springframework.bootautoconfigure.EnableAutoConfigration配置需要装配的类

十二.springboot日志
1.springboot默认的日志级别是info
2.通过logging.level.*=debug 来设置.*可以是包,也可以是某个类
3. logging.file 指定日志文件名字
4.logging.path 指定日志目录(此时的日志名字为spring.log)
5.logging.file.console配置日志文件输出日志的pattern
6.logging.pattren.console 配置控制台输出日志的pattern
注:
 日志级别有:TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF
日志级别配置成OFF,表示关闭日志输出
日志文件输出,文件大小10M之后,就会分割
使用其他的日志组件
1.maven中排除默认的日志组件:spring-boot-starter-logging
2.加入新的日志路径依赖
3.把相应的日志配置文件放到classpath下默认的名字log4j2-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration >

  <appenders>
    <!--输出到控制台 ConsoleAppender-->
    <Console name="console" target="SYSTEM_OUT" follow="true">
   
        <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS}[%thread] %-5level %logger{80} -%msg%n"/>
     
    </Console >
</appenders>
 <loggers>
    <root level="DEBUG">
        <!--appender将会添加到这个loger-->
        <appender-ref ref="console"/>
     
    </root>
</loggers>
</configuration>



  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值