前沿拓展:
kb978601
假如360安全卫士没有提示安装这几个补丁的话,可以不安装。假如不放心,可以在新浪官方网站查找、下载这几个补丁,下完查毒,没有问题再打开安装。
package com.xxx.pubfound.aop;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import com.shangde.**.util.proxy.ProxyUtil;
import com.xxx.pubfound.MultipleDataSource;
import com.xxx.pubfound.aop.anntion.DataSourceType;
/***
*
* Project Name:**-public-foundation-impl
* <p>多数据源自动切换通知类(拦截com.xxx.pubfound.dao中所有的类中的方法)<br>
* 第一判断当前类是否被该DataSourceType注解进行注释,如果没有采用默认的uam数据源配置;<br>
* 如果有,则读取注解中的value值,将数据源切到value指定的数据源
* @ClassName: MultipleDataSourceAspectA**ice
* @date 2018年5月18日 下午5:13:51
*
* @author youqiang.xiong
* @version 1.0
* @since
*/
@Component
@Aspect
public class MultipleDataSourceAop {
private final Logger logger = LoggerFactory.getLogger(getClass());
/***
*
* Project Name **-public-foundation-impl
* <p>
* 拦截 pubfound.service中所有的方法,根据情况进行数据源切换
*
* @author youqiang.xiong
* @date 2018年5月18日 下午5:49:48
* @version v1.0
* @since
* @param pjp
* 连接点
* @throws Throwable
* 抛出异常
*/
@Before(“execution(* com.xxx.pubfound.service.*.*(..))”)
public void changeDataSource(JoinPoint joinPoint) throws Throwable {
// 拦截的实体类,就是当前正在执行的service
Object target = ProxyUtil.getTarget(joinPoint.getTarget());
if(target.getClass().isAnnotationPresent(DataSourceType.class)){
DataSourceType dataSourceType = target.getClass().getAnnotation(DataSourceType.class);
String type = dataSourceType.value();
logger.info(“数据源切换至—>{}”,type);
MultipleDataSource.setDataSourceKey(type);
}else{
logger.info(“此{}不涉及数据源**作.”,target.getClass());
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
以上就是通过spring aop 切面实现多数据源自动切换的代码和配置,请根据各各自实际情况稍作修改.
拓展知识:
kb978601
用360安全卫士的修复漏洞功能,对每一个补丁都有介绍
原创文章,作者:九贤生活小编,如若转载,请注明出处:http://www.wangguangwei.com/33531.html