Merge remote-tracking branch 'origin/master'

master
星期八 4 years ago
commit 3c0481b252
  1. 7
      README.md
  2. 6
      src/main/java/com/lq/cms/mode/Menus.java
  3. 4
      src/main/java/com/lq/code/cache/RedisCache.java
  4. 10
      src/main/java/com/lq/code/executor/processor/InstantiationTracingBeanPostProcessor.java
  5. 28
      src/main/java/com/lq/code/util/HttpsClient.java

@ -1,11 +1,9 @@
# ssm项目
## ssm 介绍
```java
一个基于spring mvc+mybatis的框架。页面是采用aceAdmin+easyUI.
使用shiro作为安全框架,做权限控制
```
## ssm开发环境
```java
1. jdk 1.8
@ -14,7 +12,6 @@
4. redis
5. tomcat 8
```
## ssm 使用说明
```java
1. 菜单目录采用设计模式中的容器模式,理论上是可以实现三级甚至四级的菜单目录(参考代码:com.lq.cms.mode.MenusComposite).
@ -24,7 +21,6 @@
5. 使用spring session整合redis实现在集群中session共享的效果
6. 微信公众号相关开发代码(com.lq.wechat),其中客服消息采用了建造者模式(com.lq.wechat.mode.template)。
```
## 三层架构理念:
```java
1. 数据库表与mapping.xml一一对应。
@ -33,9 +29,8 @@
4. controller层代码密度低 只负责简单的数据接受和转发。以及页面跳转的控制
```
## 示例
```java
1. 项目案例:http://106.12.122.216:8080/ssm/cms/
2. 默认账号/密码:admin/123
```
```

@ -1,11 +1,13 @@
package com.lq.cms.mode;
/**
* Created by qi on 2017-11-29.
* 菜单模块
* @author qi
*/
public class Menus extends MenusComposite{
/**
* 菜单路径
*/
private String url;
public String getUrl() {

@ -6,6 +6,8 @@ import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.util.SerializationUtils;
import java.io.File;
import java.io.FileReader;
import java.util.concurrent.Callable;
/**
@ -97,4 +99,6 @@ public class RedisCache implements Cache {
return "OK";
});
}
}

@ -15,9 +15,13 @@ import java.util.Set;
* @author qi
*/
public class InstantiationTracingBeanPostProcessor implements ApplicationListener<ContextRefreshedEvent> {
private String packagePath ;
/**
* 指定扫描包路径
*/
private String packagePath;
/**
* 是否更新数据库
*/
private boolean isUpdateDB;
public String getPackagePath() {

@ -22,6 +22,10 @@ import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
/**
* https 客户端
* @author qi
*/
public class HttpsClient {
private static final Logger LOGGER = LoggerFactory.getLogger(HttpsClient.class);
@ -142,34 +146,10 @@ public class HttpsClient {
}
private static SSLContext getTrustAllSSLContext() throws Exception {
// SSLContext context = SSLContexts.custom().loadTrustMaterial(null, new TrustStrategy() {
//
// @Override
// public boolean isTrusted(X509Certificate[] arg0, String arg1)
// throws java.security.cert.CertificateException {
// // 这一句就是信任任何的证书,当然你也可以去验证服务器的真实性
// return true;
// }
// }).build();
SSLContext context = SSLContext.getDefault();
return context;
}
// public static void main(String[] args) throws IOException {
// File file =new File("/Users/qi_liang/Downloads/timg.jpeg");
// String url = "https://api.weixin.qq.com/cgi-bin/media/upload";
// Map<String, Object> params = new HashMap<String, Object>();
// params.put("access_token", "10_0oKKCsF9JL30JeGZDyfNWDhiaRvivAL9vs9ihvaledzBuPVM6IMvwcFUc58AFwlETRdvEBAFXOYbF2GoKmbtMmopCs78m9UE8whgrYU4kJww4mSooMcq8el-qnU4JdjPGKruZLjdNS246hXyWOHbAAAHZS");
// params.put("type", "image");
// if(file.exists()){
// params.put("media", file);
// }
// String resultStr = post(url,params);
// System.out.println(resultStr);
// }
public static void main(String[] args) {
}
}

Loading…
Cancel
Save