发表于: 2020-07-13 22:43:56

1 1882


今天完成的事情

1. 完成了七牛云的图片上传


2. 做了对象存储的配置切换

/**
* @ClassName OSSServiceContainer
* @Description OSSService 容器
* @Author owlwinter
* @Date 2020/7/13 16:07
* @Version 1.0
**/
@Component
public class OSSServiceContainer {
private static final Logger logger = LogManager.getLogger(OSSServiceContainer.class);

@Value("${oss.select}")
private String ACTIVATE;

@Autowired
   private Map<String, OSSService> ossServiceMap;

public OSSService getOSSService(){
if (ossServiceMap.containsKey(ACTIVATE)){
return ossServiceMap.get(ACTIVATE);
} else {
Set<String> keys = ossServiceMap.keySet();

logger.error("所选 OSS 不存在或未注入 ACTIVATE:{} keys:{}", ACTIVATE, keys);

}

return null;
}

}


spring 引入一个配置文件,然后修改这个配置文件就可以切换对象存储了。


3. 做了图片的对象存储域名的切换

layout.jsp

<c:if test="${ctx == null}">
<c:set var="ctx" value="${pageContext.request.contextPath}" scope="session"/>
</c:if>


然后只需要再代码中插入一个 ctx 的 ModelAndView 就可以实现对象存储域名的切换。不使用任何对象存储的时候不需要插入,这样就自动切换到本地存储。

域名保存在配置文件里面。



遇到的问题

1. 为什么要自己做一个存储迁移程序,各大厂商都有迁移其他服务商 OSS 的工具

a,熟悉 IO 流的操作

b,满足一些特殊的迁移需求

c,熟悉 SDK 的使用


2. xml 注入 bean 的属性

factory-method

init-method

lazy-init

这些不了解,今天勉强用了一下


收获


明天的计划

1. 完成图片迁移工具的编写

这个应该是一个独立的应用,与 springmvc 无关


2. 修 BUG

有个数据的缓存有点问题,不影响使用所以今天没管这个


3. 深度思考

如果可以的话


返回列表 返回列表
评论

    分享到