SpringBoot
lqbz---
一个纯粹的人,一个高尚的人,一个脱离低级趣味的人。
展开
-
restTemplate 上传大文件Java heap space
将已上传的文件,通过RestTemplate,发起HTTP请求调用接口。当文件较大时,出现Java heap space。原创 2022-12-08 22:11:59 · 1715 阅读 · 1 评论 -
java 下载交于nginx
背景java提供接口,进行鉴权。鉴权成功后将下载指向nginx,收nginx进行下载代理。直接访问nginx不能下载,只能走重定向下载。原创 2022-07-19 22:55:09 · 577 阅读 · 0 评论 -
SpringBoot 项目部署
SpringBoot 项目开发完毕后,支持两种方式部署到服务器:jar包war包打jar包打war包首先在pom文件中添加以下信息<packaging>war</packaging>#<bulid>标签下添加<finalName>test1</finalName>修改引导类package com.yy.springboot_deploy;import org.springframework.boot.SpringA原创 2021-11-18 21:12:54 · 386 阅读 · 0 评论 -
SpringBoot 监控
SpringBoot 自带控制功能Actuator,可以帮助实现对程序内部运行情况监控,比如监控状态、Bean加载情况、配置属性、日志信息等。使用步骤导入坐标访问http://localhost:8080/actuator新建模块,选择web、Actuator两个依赖访问后返回{"_links":{"self":{"href":"http://localhost:8080/actuator","templated":false},"health":{"href":"http://local原创 2021-11-18 20:56:45 · 2888 阅读 · 0 评论 -
SpringBoot 监听
SpringBoot在项目启动时,会对几个监听器进行回调,可以通过实现这些监听器接口,在项目启动时完成一些操作。ApplicationContextInitializer、SpringApplicationRunListener、CommandLineRunner、ApplicationRunner新建模块springboot_listener创建4个类,并实现以上接口及接口方法实现的方法中都打印对应类及方法名称如:启动引导类只打印了ApplicationRunner、CommandLin原创 2021-11-14 21:02:13 · 1496 阅读 · 0 评论 -
@EnableAutoConfiguration
在引导类的@SpringBootApplication下有@EnableAutoConfiguration继续查看有@Import导入自动配置AutoConfigurationImportSelector继续查看下面类的selectImports方法,返回字符串数组,在数组中定义了很多需要被加载的类。重点查看getAutoConfigurationEntry方法中的getCandidateConfigurations方法。此方法返回一个list集合,集合中都是configurations。原创 2021-11-14 17:24:51 · 541 阅读 · 0 评论 -
自定义起步依赖
目标自定义redis-start。要求当导入redis坐标时,SpringBoot自动创建Jedis的Bean。先参考Mybatis坐标SpringBoot官方提供(如spring-boot-starter-test)的功能(test)在最后,而Mybatis提供的功能在前面。<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId&原创 2021-11-14 16:03:31 · 653 阅读 · 0 评论 -
@Import注解
@Enable*底层依赖于@Import注解导入一些类,使用@Import导入的类会被Spring加载到IOC容器中。而@Import提供4种用法:导入Bean。导入配置类。(配置类中定义的所有Bean都会导入)导入ImportSelector实现类。一般用于加载配置文件中的类。导入ImportBeanDefinitionRegistrar实现类。导入Bean...原创 2021-11-09 22:43:52 · 95 阅读 · 0 评论 -
@Enbale*注解
首先查看引导类中的注解@SpringBootApplication,有@SpringBootConfiguration与@EnableAutoConfiguration、@ComponentScan继续查看@SpringBootConfiguration注解里有Configuration,所以添加了@SpringBootApplication就是配置类,里面就可以定义BeanSpringBoot中提供了很多Enable开关的注解,用于动态启用某些功能。其底层原理是使用@Import注解导入一些配置类原创 2021-11-07 21:36:40 · 181 阅读 · 0 评论 -
springboot 原理 -自动配置
Condition条件判断功能,通过这个功能可以实现选择性的创建Bean操作。问题1:SpringBoot是如何知道创建RedisTemplate的?新建模块查看对应springboot的启动方法返回值,返回的就是IOC容器。ctrl+alt+v获取返回值,改写为package com.yy.springboot_condition;import org.springframework.boot.SpringApplication;import org.springframework.原创 2021-11-06 21:38:17 · 653 阅读 · 0 评论 -
springboot 整合MyBatis
步骤搭建SpringBoot工程。引入MyBatis起步依赖,添加mysql驱动。编写DataSource和MyBatis相关配置。定义表和实体类。编写dao和mapper文件/纯注解开发。测试搭建SpringBoot原创 2021-11-06 14:43:27 · 89 阅读 · 0 评论 -
springboot 整合redis
实现步骤搭建SpringBoot工程。引入redis起步依赖。配置redis相关属性。注入RedisTemplate模板。编写测试方法。搭建SpringBoot工程起步依赖pom文件中默认就添加了<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId>&原创 2021-11-04 21:43:56 · 320 阅读 · 0 评论 -
springboot junit使用
新建模块springboot_junit,然后将默认的test删除掉在main目录下新建com.yy.service.UserService.java 为Service用于测试package com.yy.service;import org.springframework.stereotype.Service;@Servicepublic class UserService { public void add(){ System.out.println("原创 2021-11-02 22:38:09 · 763 阅读 · 0 评论 -
配置文件加载顺序
项目内部加载顺序springboot程序启动时,会从以下位置顺序加载配置文件:file:/config/ 当前项目下的/config目录file:./ 当前项目的根目录classpath:/config/ classpath的/config目录classpath:/ classpath的根目录项目外部加载命令行指定端口,访问前缀目录--server.port=8082--server.servlet.context-path=/test命令行指定配置文件--server.c原创 2021-11-02 21:06:52 · 295 阅读 · 0 评论 -
springboot profiles
profiles提供动态配置切换profile配置方式多profile文件方式yml多文档方式profile激活方式配置文件虚拟机参数命令行参数常规启动启动信息中提示没有激活profiles文件,将采集默认配置。多profile文件方式创建不同环境启动端口文件(都存放于resource下)。application-dev.propertiesserver.port=8081application-test.propertiesserver.port=8081a原创 2021-11-01 22:13:46 · 141 阅读 · 0 评论 -
springboot 获取配置文件数据
读取配置内容@[email protected]文件name: zhangyy# map(对象)person1: name1: ${name} age1: 31# map(对象)行内写法person2: {name2: yyzhang1,age2: 32}# 数组address1: - chengdu - shanghai# 数组行内写法address2: [beijing,she原创 2021-10-31 22:02:14 · 163 阅读 · 0 评论 -
springboot 配置文件
SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就使用application.properties或者application.yml(application.yaml)进行配置。也就是默认配置文件名称为application,一般放到resources文件夹下propertiesserver.port=8080yml,注意冒号后有空格server: port: 8080同一属性,三个文件优先级(不同属性会找三个配置文件 ):pro原创 2021-10-31 20:16:17 · 147 阅读 · 0 评论 -
构建工程 笔记
创建Spring initializr选择对于需要的依赖包创建后会自动成功pom相关文件注:如果spring-boot-maven-plugin 标红无法找到,就添加与Springboot一样的版本号自动生成引导类创建Controllerpackage com.yy.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.w.原创 2021-10-31 17:03:12 · 99 阅读 · 0 评论 -
SpringBoot 入门笔记
搭建SpringBoot工程,定义Controller,返回hello SpringBoot创建Maven项目。创建完后的结构如下导入SpringBoot起步依赖。在pom.xml文件中导入起步依赖<!--springboot 工程需要继承的父工程--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>原创 2021-10-31 15:22:34 · 86 阅读 · 0 评论