第一步:用java类进行配置
package com.lpy;
import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
//需要springboot去扫描, springboot是通过java类来进行配置的
@Component
public class ZookeeperCuratorClient {
//zookeeper客户端
private CuratorFramework client =null;
//日志(中间件的工具类都需要添加日志)
final static Logger log=LoggerFactory.getLogger(ZookeeperCuratorClient.class);
public static final String ZOOKEEPER_SERVER="192.168.4.245:2181";
public void init() {
if(client!=null) {
return;
}
//第一步:创建重试策略
RetryPolicy retryPolicy=new ExponentialBackoffRetry(1000,5);
//第二步:创建zookeeper客户端
client=CuratorFrameworkFactory.builder().connectString(ZOOKEEPER_SERVER)
.sessionTimeoutMs(10000)
.retryPolicy(retryPolicy)
.namespace("admin").build();
//第三步:启动客户端
client.start();
//测试
try {
String testNodeData = new String(client.getData().forPath("/bgm/..."));
log.info("测试的节点数据为:{}",testNodeData);
} catch (Exception e) {
e.printStackTrace();
}
}
}
第二步:在webconfig进行配置初始化
package com.lpy;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/**
* 以前spring配置实在xml里面,现在springboot配置实在java类里面
* @author Richard
*
*/
import com.lpy.controller.interceptor.MiniInterceptor;
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
/**
* 显示图片的配置,我们的个人信息的头像
* @author Richard
* 可以直接通过http://localhost:8082/181127743X140568/face/wx3ce7c79e96132bd8.o6zAJs-h4oiS8tWZhwsiPN2jEeD8.3LCbAy49NFap02319d110a7896da0e48d2c34a1259d6.JPG
*访问图片
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/META-INF/resources/") //解决swagger2的访问,注意后面多了一个斜线
.addResourceLocations("file:D:\\java_all\\workspace-wxxcs\\video-space\\");
}
@Bean(initMethod="init")
public ZookeeperCuratorClient zookeeperCuratorClient() {
return new ZookeeperCuratorClient();
}
@Bean
public MiniInterceptor miniInterceptor() {
return new MiniInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
//将拦截器注册进去了
registry.addInterceptor(miniInterceptor()).addPathPatterns("/user/**")
.addPathPatterns("/video/upload","/video/uploadCover",
"/video/userLike","/video/userUnLike")
.addPathPatterns("/bgm/**")
.excludePathPatterns("/user/queryPublisher");//这方法就不会被拦截了
super.addInterceptors(registry);
}
}