diff --git a/pom.xml b/pom.xml index ab3e1cd..7c6a984 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ 0.0.1-SNAPSHOT zilberboot Demo project for Spring Boot - war + jar 1.0 UTF-8 @@ -129,6 +129,7 @@ spring-boot-starter-web + org.springframework.boot @@ -163,6 +164,8 @@ ${pagehelper.boot.version} + + com.github.oshi @@ -237,20 +240,25 @@ + zilberboot + + org.springframework.boot + spring-boot-maven-plugin + org.apache.maven.plugins - maven-compiler-plugin - 3.1 - - ${java.version} - ${java.version} - ${project.build.sourceEncoding} - + maven-resources-plugin + 2.4.3 + + + + + public diff --git a/src/main/java/com/zilber/boot/ServletInitializer.java b/src/main/java/com/zilber/boot/ServletInitializer.java index 87947b8..d7f6d95 100644 --- a/src/main/java/com/zilber/boot/ServletInitializer.java +++ b/src/main/java/com/zilber/boot/ServletInitializer.java @@ -1,13 +1,17 @@ -package com.zilber.boot; +/* +package com.zilber.boot; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +*/ /** * web容器中进行部署 * * @author lsc - */ + *//* + + public class ServletInitializer extends SpringBootServletInitializer { @Override @@ -16,3 +20,5 @@ public class ServletInitializer extends SpringBootServletInitializer return application.sources(ZilberbootApplication.class); } } + +*/ diff --git a/src/main/java/com/zilber/boot/ZilberbootApplication.java b/src/main/java/com/zilber/boot/ZilberbootApplication.java index 9d966c3..e0de881 100644 --- a/src/main/java/com/zilber/boot/ZilberbootApplication.java +++ b/src/main/java/com/zilber/boot/ZilberbootApplication.java @@ -11,8 +11,9 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; * @author lsc */ + +@SpringBootApplication(exclude = DataSourceAutoConfiguration.class) @EnableKnife4j -@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }) public class ZilberbootApplication { public static void main(String[] args) diff --git a/src/main/java/com/zilber/boot/annotation/DataSource.java b/src/main/java/com/zilber/boot/annotation/DataSource.java deleted file mode 100644 index 353200e..0000000 --- a/src/main/java/com/zilber/boot/annotation/DataSource.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.zilber.boot.annotation; - -import com.zilber.boot.enums.DataSourceType; - -import java.lang.annotation.*; - -/** - * 自定义多数据源切换注解 - * - * 优先级:先方法,后类,如果方法覆盖了类上的数据源类型,以方法的为准,否则以类上的为准 - * - * @author lsc - */ -@Target({ ElementType.METHOD, ElementType.TYPE }) -@Retention(RetentionPolicy.RUNTIME) -@Documented -@Inherited -public @interface DataSource -{ - /** - * 切换数据源名称 - */ - public DataSourceType value() default DataSourceType.MASTER; -} diff --git a/src/main/java/com/zilber/boot/framework/aspectj/DataSourceAspect.java b/src/main/java/com/zilber/boot/framework/aspectj/DataSourceAspect.java deleted file mode 100644 index c3407e9..0000000 --- a/src/main/java/com/zilber/boot/framework/aspectj/DataSourceAspect.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.zilber.boot.framework.aspectj; - - -import com.zilber.boot.annotation.DataSource; -import com.zilber.boot.framework.datasource.DynamicDataSourceContextHolder; -import com.zilber.boot.utils.StringUtils; -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Pointcut; -import org.aspectj.lang.reflect.MethodSignature; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.core.annotation.AnnotationUtils; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; -import java.util.Objects; - -/** - * 多数据源处理 - * - * @author lsc - */ -@Aspect -@Order(1) -@Component -public class DataSourceAspect -{ - protected Logger logger = LoggerFactory.getLogger(getClass()); - - @Pointcut("@annotation(com.zilber.boot.annotation.DataSource)" - + "|| @within(com.zilber.boot.annotation.DataSource)") - public void dsPointCut() - { - - } - - @Around("dsPointCut()") - public Object around(ProceedingJoinPoint point) throws Throwable - { - DataSource dataSource = getDataSource(point); - - if (StringUtils.isNotNull(dataSource)) - { - DynamicDataSourceContextHolder.setDataSourceType(dataSource.value().name()); - } - - try - { - return point.proceed(); - } - finally - { - // 销毁数据源 在执行方法之后 - DynamicDataSourceContextHolder.clearDataSourceType(); - } - } - - /** - * 获取需要切换的数据源 - */ - public DataSource getDataSource(ProceedingJoinPoint point) - { - MethodSignature signature = (MethodSignature) point.getSignature(); - DataSource dataSource = AnnotationUtils.findAnnotation(signature.getMethod(), DataSource.class); - if (Objects.nonNull(dataSource)) - { - return dataSource; - } - - return AnnotationUtils.findAnnotation(signature.getDeclaringType(), DataSource.class); - } -} diff --git a/src/main/java/com/zilber/boot/framework/config/DruidConfig.java b/src/main/java/com/zilber/boot/framework/config/DruidConfig.java index 8f256c7..2a50b11 100644 --- a/src/main/java/com/zilber/boot/framework/config/DruidConfig.java +++ b/src/main/java/com/zilber/boot/framework/config/DruidConfig.java @@ -1,7 +1,6 @@ package com.zilber.boot.framework.config; import java.io.IOException; -import java.util.HashMap; import java.util.Map; import javax.servlet.Filter; import javax.servlet.FilterChain; @@ -9,20 +8,16 @@ import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.sql.DataSource; - import com.zilber.boot.framework.config.properties.DruidProperties; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties; import com.alibaba.druid.util.Utils; -import com.zilber.boot.enums.DataSourceType; -import com.zilber.boot.framework.datasource.DynamicDataSource; import com.zilber.boot.utils.spring.SpringUtils; /** @@ -50,15 +45,7 @@ public class DruidConfig return druidProperties.dataSource(dataSource); } - @Bean(name = "dynamicDataSource") - @Primary - public DynamicDataSource dataSource(DataSource masterDataSource) - { - Map targetDataSources = new HashMap<>(); - targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource); - setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource"); - return new DynamicDataSource(masterDataSource, targetDataSources); - } + /** * 设置数据源 diff --git a/src/main/java/com/zilber/boot/framework/config/SecurityConfig.java b/src/main/java/com/zilber/boot/framework/config/SecurityConfig.java index afe5906..08667b6 100644 --- a/src/main/java/com/zilber/boot/framework/config/SecurityConfig.java +++ b/src/main/java/com/zilber/boot/framework/config/SecurityConfig.java @@ -111,7 +111,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter // 对于登录login 注册register 验证码captchaImage 允许匿名访问 .antMatchers("/login", "/register", "/captchaImage").anonymous() // 静态资源,可匿名访问 - .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() + .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js","/**/*.jpg","/**/*.png","/zilbervue/admin/", "/profile/**").permitAll() .antMatchers("/swagger-ui.html","/swagger-ui", "/v3","/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() // 除上面外的所有请求全部需要鉴权认证 .anyRequest().authenticated() diff --git a/src/main/java/com/zilber/boot/framework/datasource/DynamicDataSource.java b/src/main/java/com/zilber/boot/framework/datasource/DynamicDataSource.java deleted file mode 100644 index 2710b95..0000000 --- a/src/main/java/com/zilber/boot/framework/datasource/DynamicDataSource.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.zilber.boot.framework.datasource; - -import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; - -import javax.sql.DataSource; -import java.util.Map; - -/** - * 动态数据源 - * - * @author lsc - */ -public class DynamicDataSource extends AbstractRoutingDataSource -{ - public DynamicDataSource(DataSource defaultTargetDataSource, Map targetDataSources) - { - super.setDefaultTargetDataSource(defaultTargetDataSource); - super.setTargetDataSources(targetDataSources); - super.afterPropertiesSet(); - } - - @Override - protected Object determineCurrentLookupKey() - { - return DynamicDataSourceContextHolder.getDataSourceType(); - } -} \ No newline at end of file diff --git a/src/main/java/com/zilber/boot/framework/datasource/DynamicDataSourceContextHolder.java b/src/main/java/com/zilber/boot/framework/datasource/DynamicDataSourceContextHolder.java deleted file mode 100644 index 392b827..0000000 --- a/src/main/java/com/zilber/boot/framework/datasource/DynamicDataSourceContextHolder.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.zilber.boot.framework.datasource; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * 数据源切换处理 - * - * @author lsc - */ -public class DynamicDataSourceContextHolder -{ - public static final Logger log = LoggerFactory.getLogger(DynamicDataSourceContextHolder.class); - - /** - * 使用ThreadLocal维护变量,ThreadLocal为每个使用该变量的线程提供独立的变量副本, - * 所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 - */ - private static final ThreadLocal CONTEXT_HOLDER = new ThreadLocal<>(); - - /** - * 设置数据源的变量 - */ - public static void setDataSourceType(String dsType) - { - log.info("切换到{}数据源", dsType); - CONTEXT_HOLDER.set(dsType); - } - - /** - * 获得数据源的变量 - */ - public static String getDataSourceType() - { - return CONTEXT_HOLDER.get(); - } - - /** - * 清空数据源变量 - */ - public static void clearDataSourceType() - { - CONTEXT_HOLDER.remove(); - } -} diff --git a/src/main/java/com/zilber/boot/system/controller/SysProfileController.java b/src/main/java/com/zilber/boot/system/controller/SysProfileController.java index a1046d9..10b6d24 100644 --- a/src/main/java/com/zilber/boot/system/controller/SysProfileController.java +++ b/src/main/java/com/zilber/boot/system/controller/SysProfileController.java @@ -36,20 +36,6 @@ public class SysProfileController extends BaseController @Autowired private TokenService tokenService; - /** - * 个人信息 - */ - @GetMapping("/profile") - @ApiOperation(value="个人信息",notes="个人信息") - public AjaxResult profile() - { - LoginUser loginUser = getLoginUser(); - SysUser user = loginUser.getUser(); - AjaxResult ajax = AjaxResult.success(user); - ajax.put("roleGroup", userService.selectUserRoleGroup(loginUser.getUsername())); - ajax.put("postGroup", userService.selectUserPostGroup(loginUser.getUsername())); - return ajax; - } /** * 修改用户