Browse Source

更改action.properties属性的引入方式为从application.yml文件引入

zhuth 7 years ago
parent
commit
63fed5fdfc

+ 0 - 2
src/main/java/com/uas/eis/UasEisApplication.java

@@ -6,7 +6,6 @@ import org.springframework.cache.annotation.EnableCaching;
 import org.springframework.context.annotation.Import;
 
 import com.uas.eis.core.config.DynamicDataSourceRegister;
-import com.uas.eis.core.support.ActionPropertiesListener;
 import com.uas.eis.core.support.TokenPropertiesListener;
 
 @SpringBootApplication
@@ -17,7 +16,6 @@ public class UasEisApplication {
 	public static void main(String[] args) {
 		SpringApplication application = new SpringApplication(UasEisApplication.class);
 		application.addListeners(new TokenPropertiesListener("token.properties"));
-		application.addListeners(new ActionPropertiesListener("action.properties"));
 		application.run(args);
 	}
 	

+ 24 - 0
src/main/java/com/uas/eis/core/support/ActionConfig.java

@@ -0,0 +1,24 @@
+package com.uas.eis.core.support;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Component
+@ConfigurationProperties(prefix = "action")
+public class ActionConfig {
+	private String apiAction;
+	private String[] publicActions;
+	
+	public String getApiAction() {
+		return apiAction == null ? "" : apiAction;
+	}
+	public void setApiAction(String apiAction) {
+		this.apiAction = apiAction;
+	}
+	public String[] getPublicActions() {
+		return publicActions == null ? new String[]{} : publicActions;
+	}
+	public void setPublicActions(String[] publicActions) {
+		this.publicActions = publicActions;
+	}
+}

+ 0 - 48
src/main/java/com/uas/eis/core/support/ActionProperties.java

@@ -1,48 +0,0 @@
-package com.uas.eis.core.support;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import org.springframework.beans.BeansException;
-import org.springframework.core.io.support.PropertiesLoaderUtils;
-
-public class ActionProperties {
-	
-	public static Map<String, String> propertiesMap = new HashMap<>();
-
-    private static void processProperties(Properties props) throws BeansException {
-        propertiesMap = new HashMap<String, String>();
-        for (Object key : props.keySet()) {
-            String keyStr = key.toString();
-            try {
-                // PropertiesLoaderUtils的默认编码是ISO-8859-1,在这里转码一下
-                propertiesMap.put(keyStr, new String(props.getProperty(keyStr).getBytes("ISO-8859-1"), "utf-8"));
-            } catch (UnsupportedEncodingException e) {
-                e.printStackTrace();
-            } catch (java.lang.Exception e) {
-                e.printStackTrace();
-            }
-        }
-    }
-
-    public static void loadAllProperties(String propertyFileName) {
-        try {
-            Properties properties = PropertiesLoaderUtils.loadAllProperties(propertyFileName);
-            processProperties(properties);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-
-    public static String getProperty(String name) {
-        return propertiesMap.get(name).toString();
-    }
-
-    public static Map<String, String> getAllProperty() {
-        return propertiesMap;
-    }
-
-}

+ 0 - 19
src/main/java/com/uas/eis/core/support/ActionPropertiesListener.java

@@ -1,19 +0,0 @@
-package com.uas.eis.core.support;
-
-import org.springframework.boot.context.event.ApplicationStartedEvent;
-import org.springframework.context.ApplicationListener;
-
-public class ActionPropertiesListener implements ApplicationListener<ApplicationStartedEvent> {
-
-	private String propertyFileName;
-	
-	public ActionPropertiesListener(String propertyFileName) {
-        this.propertyFileName = propertyFileName;
-    }
-	
-	@Override
-	public void onApplicationEvent(ApplicationStartedEvent arg0) {
-		ActionProperties.loadAllProperties(this.propertyFileName);
-	}
-
-}

+ 5 - 5
src/main/java/com/uas/eis/serviceImpl/QueryServiceImpl.java

@@ -1,7 +1,5 @@
 package com.uas.eis.serviceImpl;
 
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.forwardedUrl;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -17,7 +15,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
 import com.alibaba.fastjson.JSON;
-import com.uas.eis.core.support.ActionProperties;
+import com.uas.eis.core.support.ActionConfig;
 import com.uas.eis.core.support.TokenHandler;
 import com.uas.eis.dao.BaseDao;
 import com.uas.eis.entity.QueryArgs;
@@ -33,6 +31,8 @@ public class QueryServiceImpl implements QueryService {
 
 	@Autowired
 	private BaseDao baseDao;
+	@Autowired
+	private ActionConfig actionConfig;
 	
 	@Override
 	public String login(String username, String password) {
@@ -59,12 +59,12 @@ public class QueryServiceImpl implements QueryService {
 			return false;
 		}
 		// 开放公共API的权限
-		String apiAction = ActionProperties.getProperty("api_action");
+		String apiAction = actionConfig.getApiAction();
 		if(action.startsWith(apiAction)) {
 			return true;
 		}
 		// 判断是否在不需要权限控制的请求配置中
-		String[] publicActions = ActionProperties.getProperty("public_action").split(";");
+		String[] publicActions = actionConfig.getPublicActions();
 		for(String publicAction : publicActions) {
 			if(publicAction.equals(action)) {
 				return true;

+ 0 - 2
src/main/resources/action.properties

@@ -1,2 +0,0 @@
-api_action=/EIS/api
-public_action=/EIS/logout;/EIS/hello1

+ 1 - 1
src/main/resources/application.yml

@@ -23,4 +23,4 @@ token:
         KEEP: 86400000
 action:
     api_action: /EIS/api
-    public_action: /EIS/logout;/EIS/hello1
+    public_actions: /EIS/logout,/EIS/hello1