注册网站云空间,临海市建设规划局网站,建设一个小网站需要多少钱,中建装饰集团目录
一、SpringBoot配置优先级
1.1 配置优先级比较
1.2 java系统属性和命令行参数 1.3 打包运行jar 1.4 综合优先级编辑
二、Bean管理
2.1 获取bean
2.2 bean作用域
2.2.1 五种作用域
2.2.2 配置作用域
2.3 第三方bean 2.3.1 编写公共配置类
三、SpringBoot原理 …目录
一、SpringBoot配置优先级
1.1 配置优先级比较
1.2 java系统属性和命令行参数 1.3 打包运行jar 1.4 综合优先级编辑
二、Bean管理
2.1 获取bean
2.2 bean作用域
2.2.1 五种作用域
2.2.2 配置作用域
2.3 第三方bean 2.3.1 编写公共配置类
三、SpringBoot原理
3.1 起步依赖原理
3.2 自动配置 原理
3.2.1 方案一放弃
3.2.2 方案二 3.2.3 自动配置-源码跟踪 3.2.4 Conditional注解编辑
3.2.5 案例自定义starter 3.2.5.1 目标以及分析编辑
3.2.5.2 新建aliyun-oss-spring-boot-starter模块 3.5.2.3 新建模块 aliyun-oss-spring-boot-autoconfigure
3.5.2.4 aliyun-oss-spring-boot-starter 引入
3.5.2.5 aliyun-oss-spring-boot-autoconfigure引入依赖 3.5.2.6 AliOSSAutoConfigure
3.5.2.7 AliOSSUtils
3.5.2.8 AliOSSProperties
3.5.2.9 新建org.springframework.boot.autoconfigure.AutoConfiguration.imports 前言SpringBoot配置优先级、Bean管理、SpringBoot原理 一、SpringBoot配置优先级
1.1 配置优先级比较 1.2 java系统属性和命令行参数 1.3 打包运行jar 1.4 综合优先级 二、Bean管理
2.1 获取bean 2.2 bean作用域
2.2.1 五种作用域 2.2.2 配置作用域 2.3 第三方bean 2.3.1 编写公共配置类 !-- https://mvnrepository.com/artifact/org.dom4j/dom4j --dependencygroupIdorg.dom4j/groupIdartifactIddom4j/artifactIdversion2.1.3/version/dependency package com.runa.config;import org.dom4j.io.SAXReader;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;Configuration //配置类
public class CommonConfig {//声明第三方BeanBean // 将当前方法的返回值对象交给IOC容器管理成为IOC容器的bean//通过bean注解的name/value的属性指定bean名称如果未指定就是默认方法名public SAXReader saxReader(){return new SAXReader();}
}三、SpringBoot原理 3.1 起步依赖原理 3.2 自动配置 原理 3.2.1 方案一放弃 3.2.2 方案二 3.2.3 自动配置-源码跟踪 3.2.4 Conditional注解 三个常见 3.2.5 案例自定义starter 3.2.5.1 目标以及分析
3.2.5.2 新建aliyun-oss-spring-boot-starter模块 删除pom多余内容 删除多余文件 3.5.2.3 新建模块 aliyun-oss-spring-boot-autoconfigure 删除多余pom内容和文件 3.5.2.4 aliyun-oss-spring-boot-starter 引入 dependencygroupIdcom.aliyun.oss/groupIdartifactIdaliyun-oss-spring-boot-autoconfigure/artifactIdversion0.0.1-SNAPSHOT/version/dependency
3.5.2.5 aliyun-oss-spring-boot-autoconfigure引入依赖 !-- 阿里云OSS依赖--dependencygroupIdcom.aliyun.oss/groupIdartifactIdaliyun-sdk-oss/artifactIdversion3.15.1/version/dependencydependencygroupIdjavax.xml.bind/groupIdartifactIdjaxb-api/artifactIdversion2.3.1/version/dependencydependencygroupIdjavax.activation/groupIdartifactIdactivation/artifactIdversion1.1.1/version/dependency!-- no more than 2.3.3--dependencygroupIdorg.glassfish.jaxb/groupIdartifactIdjaxb-runtime/artifactIdversion2.3.3/version/dependency !-- web 起步依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency 3.5.2.6 AliOSSAutoConfigure
package com.aliyun.oss;import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;Configuration
EnableConfigurationProperties(AliOSSProperties.class)
public class AliOSSAutoConfigure {Beanpublic AliOSSUtils aliOSSUtils(AliOSSProperties aliOSSProperties){AliOSSUtils aliOSSUtils new AliOSSUtils();aliOSSUtils.setAliOSSProperties(aliOSSProperties);return aliOSSUtils;}
}3.5.2.7 AliOSSUtils
package com.aliyun.oss;import org.springframework.web.multipart.MultipartFile;import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;/*** 阿里云 OSS 工具类*/public class AliOSSUtils {private AliOSSProperties aliOSSProperties;public AliOSSProperties getAliOSSProperties() {return aliOSSProperties;}public void setAliOSSProperties(AliOSSProperties aliOSSProperties) {this.aliOSSProperties aliOSSProperties;}/*** 实现上传图片到OSS*/public String upload(MultipartFile file) throws IOException {// 获取阿里云OSS参数String endpoint aliOSSProperties.getEndpoint();String accessKeyId aliOSSProperties.getAccessKeyId();String accessKeySecret aliOSSProperties.getAccessKeySecret();String bucketName aliOSSProperties.getBucketName();// 获取上传的文件的输入流InputStream inputStream file.getInputStream();// 避免文件覆盖String originalFilename file.getOriginalFilename();String fileName UUID.randomUUID().toString() originalFilename.substring(originalFilename.lastIndexOf(.));//上传文件到 OSSOSS ossClient new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);ossClient.putObject(bucketName, fileName, inputStream);//文件访问路径String url endpoint.split(//)[0] // bucketName . endpoint.split(//)[1] / fileName;// 关闭ossClientossClient.shutdown();return url;// 把上传到oss的路径返回}}3.5.2.8 AliOSSProperties
package com.aliyun.oss;import org.springframework.boot.context.properties.ConfigurationProperties;ConfigurationProperties(prefix aliyun.oss)
public class AliOSSProperties {private String endpoint;private String accessKeyId;private String accessKeySecret;private String bucketName;public String getEndpoint() {return endpoint;}public void setEndpoint(String endpoint) {this.endpoint endpoint;}public String getAccessKeyId() {return accessKeyId;}public void setAccessKeyId(String accessKeyId) {this.accessKeyId accessKeyId;}public String getAccessKeySecret() {return accessKeySecret;}public void setAccessKeySecret(String accessKeySecret) {this.accessKeySecret accessKeySecret;}public String getBucketName() {return bucketName;}public void setBucketName(String bucketName) {this.bucketName bucketName;}
}3.5.2.9 新建org.springframework.boot.autoconfigure.AutoConfiguration.imports 新建文件 文件名
org.springframework.boot.autoconfigure.AutoConfiguration.imports 输入内容
com.aliyun.oss.AliOSSAutoConfigure