Spring Boot
文章平均质量分 57
ruffian_xixi
这个作者很懒,什么都没留下…
展开
-
SpringBoot文件上传
代码示例 @PostMapping("upload") public void uploadFile(@RequestPart MultipartFile oneFile, @RequestPart MultipartFile[] moreFile) throws IOException { if (oneFile != null) { //获取文件原本名称 String oneFileName = oneFile.getOrigin原创 2021-06-21 00:09:08 · 102 阅读 · 0 评论 -
Spring常用请求参数注解
注解@PathVariable : 路径变量,如果 @GetMapping("/test/{id}/user/{userName}") public void testPathVariable(@PathVariable("id") Integer id, @PathVariable("userName") String userName, //通过Map原创 2021-05-28 03:03:35 · 573 阅读 · 0 评论 -
IDEA开发辅助
Lombok通过一些注解,消除样板式代码,例如getter、setter、tostring1.引入Lombok依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.8</version>原创 2021-05-28 01:58:15 · 124 阅读 · 0 评论 -
Spring注解
组件添加@Configuration :告诉SpringBoot这是一个配置类 == 配置文件(配置类本身也为组件)1.proxyBeanMethods:设置是否代理bean方法,推荐调整为false解除配置类与组件啊之间的依赖关系,使用Lite模式此时程序启动时不会去判断是否已经存在组件,减少判断;Full模式配置类和组件之间有依赖关系,方法会调用得到之前单实例组件。@Bean :给容器中添加组件,以方法名作为组件的id,返回的类型就是组件的类型。返回的对象就是组件在容器中的实例(注:配置类中使用原创 2021-05-28 01:00:49 · 72 阅读 · 0 评论 -
JAVA 数据访问
SQL连接1.数据源自动配置1)导入JDBC场景 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>spring-boot-starter-jdbc的包组成如下:2)导入对应数据库原创 2021-05-27 23:16:59 · 173 阅读 · 0 评论 -
拦截器进行登录检查
1.实现SpringBoot中的拦截器接口HandlerInterceptor,自定义一个登录拦截器/** * @Author: * @Date: 2020/7/18 13:29 * @Description 登陆处理程序拦截器 没有登录的用户不能访问其他页面 * 除登录拦截外,包括权限校验、防重复提交 */public class LoginHandlerInterceptor implements HandlerInterceptor { //目标方法执行之前 @Ove原创 2021-05-25 01:33:20 · 161 阅读 · 0 评论 -
SpringBoot对静态资源的映射
根据org.springframework.boot:spring-boot-autoconfigure中web/servlet/WebMvcAutoConfiguration自动配置文件可以解析出 public void addResourceHandlers(ResourceHandlerRegistry registry) { if (!this.resourceProperties.isAddMappings()) { logg原创 2021-05-21 02:03:26 · 93 阅读 · 0 评论 -
SLF4j使用
SLF4J:为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希望的loging APIs实现。(而其中 LogBack是SLF4J的实现类)。开发过程中 日志记录方法的调用应该调用日志抽象层里面的方法,而不应该直接调用日志的实现类。package org.xixi.btg.logtest;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class LogTest { p原创 2021-05-21 00:40:12 · 359 阅读 · 0 评论 -
SpringBoot自定义异常处理程序
创建自定义异常处理程序类//标记这是一个控制器通知@ControllerAdvicepublic class MyExceptionHandler 定义异常处理方法 //浏览器客户端返回的都是JSON @ResponseBody @ExceptionHandler //定义拦截的异常类型,如果需要拦截指定的异常类型(@ExceptionHandler({CustomException.class}) ) public Map<String,Object> .原创 2020-07-18 15:06:42 · 70 阅读 · 0 评论 -
SpringBoot默认的错误处理机制
默认效果:浏览器返回一个默认错误页面如果是其他客户端,默认响应一个json数据原理:可以参照ErrorMvcAutoConfiguration;错误处理的自动配置给容器添加以下组件:1.DefaultErrorAttributes;2.BasicErrorController:处理默认/error请求3.ErrorPageCustomizer:定义发生错误后跳转至哪个页面4.DefaultErrorViewResolver;步骤:一旦系统出现错误页面(4xx或5xx);Error原创 2020-07-18 14:19:34 · 72 阅读 · 0 评论 -
Spring Boot国际化
编写国际化配置文件,抽取页面需要显示的国际化消息在resources文件下创建i18n文件夹(i18n含义为:internationalization,取头和尾i、n两个字母后还剩18个字符,所以叫i18n)-在i18n文件中添加国际化配置文件 login.properties ,login_语言代码_国家代码,此时IDEA会自动标记这是一个国际化配置(Resource Bundle ‘login’)当需要适配新的语言时可以右键->new->Add Property Files to原创 2020-06-22 02:18:59 · 220 阅读 · 0 评论 -
SpringBoot 日志
日志打印级别logging.level.root 指定log输出等级logging: level: root: info指定日志文件logging.file.name 将日志生成至指定文件(如未指定文件存储路径,则默认存储至项目根目录)logging: file: name: logging.log指定日志生成路径logging.file.path 指定日志生成路径(当logging.file.name和logging.file.path同时指定时,默认读取loggi原创 2020-06-21 19:45:09 · 202 阅读 · 0 评论 -
@Conditional的用法
Conditional作用必须是@Conditional指定的条件成立,才给容器中添加组件,配置类里面的所有内容才生效自动配置类必须在一定的条件下才生效可以通过启用debug=true属性;来让控制台打印自动配置报告,则可知晓哪些自动配置类生效Positive matches:已启用的自动配置Negative matches:未匹配上的自动配置Conditional扩展@ConditionalOnJava 系统的java版本是否符合要求@ConditionalOnBean 容器中存在原创 2020-06-21 02:47:39 · 197 阅读 · 0 评论 -
Spring-Boot 自动配置原理
配置文件能配置的属性参照自动配置原理:SpringBoot启动的时候加载主配置类,开启了自动配置功能 注解:@EnableAutoConfiguration@EnableAutoConfiguration作用:利用@Import({AutoConfigurationImportSelector.class})给容器中导入了一些组件可以查看selectImports()方法的内容;List configurationns = autoConfigurationEntry.getConfigur原创 2020-06-15 02:09:53 · 49 阅读 · 0 评论 -
Spring-Boot 外部配置加载顺序
Spring Boot 支持多种外部配置方式官方优先级:链接:linkSpringBoot可以从以下位置获取配置 优先级由高到低1.命令行参数java -jar xxx.jar --server.port=9090 --server.context-path=/test多个配置用空格隔开2.来自java:comp/env的JNDI属性3.Java系统属性 (System.getProperties())4.操作系统环境变量5.RandomValuePropertySource配置的rand原创 2020-06-15 01:00:36 · 71 阅读 · 0 评论 -
Spring-Boot 配置文件加载位置
spring boot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件1.file: ./config/ 当前项目文件路径下的config文件夹中2.file: ./ 当前项目的文件路径下3.classpath: /config/ 类路径下的config文件夹中4.classpath: / 类路径的根目录中以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容会.原创 2020-06-15 00:44:22 · 54 阅读 · 0 评论 -
Spring-Boot Profile文件
Profile多Profile文件yml支持多文档块方式激活指定profile第一种方式第二种方式第三种方式第四种方式多Profile文件在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml,以实现动态切换配置多个properties/yml文件时,默认使用application.properties/yml文件的配置yml支持多文档块方式通过 — 分割多个文档块激活指定profile第一种方式在配置文件中指定激活哪一个文件(p原创 2020-06-15 00:22:40 · 68 阅读 · 0 评论