鍍金池/ 教程/ Java/ 微信開發(fā)準(zhǔn)備(三)--框架以及工具的基本使用
Java 微信公眾平臺開發(fā)(八)--多媒體消息回復(fù)
Java 微信公眾平臺開發(fā)(四)--回復(fù)消息的分類及實體的創(chuàng)建
Mybatis 工具 Generator
Java 微信公眾平臺開發(fā)(十一)--開發(fā)中微信公眾平臺/開放平臺/商戶平臺的關(guān)聯(lián)
微信開發(fā)準(zhǔn)備(二)--springmvc+mybatis 項目結(jié)構(gòu)的搭建
 Java 微信公眾平臺開發(fā)(十二)--微信用戶信息的獲取
Java 微信公眾平臺開發(fā)(十五)--微信 JSSDK 的使用
微信開發(fā)準(zhǔn)備(三)--框架以及工具的基本使用
Java 微信公眾平臺開發(fā)(十三)--微信 JSSDK 中 Config 配置
Java 微信公眾平臺開發(fā)(一)--接入微信公眾平臺
Java 微信公眾平臺開發(fā)(十四)【番外篇】--微信 web 開發(fā)者工具使用
Java 微信公眾平臺開發(fā)【番外篇】(七)--公眾平臺測試帳號的申請
微信開發(fā)準(zhǔn)備(一)--Maven 倉庫管理新建 WEB 項目
Java 微信公眾平臺開發(fā)(三)--接收消息的分類及實體的創(chuàng)建
Java 微信公眾平臺開發(fā)(九)--關(guān)鍵字回復(fù)以及客服接口實現(xiàn)(該公眾號暫時無法提供服務(wù)解決方案)
微信開發(fā)準(zhǔn)備(四)--nat123 內(nèi)網(wǎng)地址公網(wǎng)映射實現(xiàn)
Java 微信公眾平臺開發(fā)(五)--文本及圖文消息回復(fù)的實現(xiàn)
Java 微信公眾平臺開發(fā)(十)--微信自定義菜單的創(chuàng)建實現(xiàn)
Java 微信公眾平臺開發(fā)(六)--微信開發(fā)中的 token 獲取
Java 微信公眾平臺開發(fā)(二)--微信服務(wù)器 post 消息體的接收

微信開發(fā)準(zhǔn)備(三)--框架以及工具的基本使用

在前面兩篇中我們從基本的項目建立到框架搭建,將項目已經(jīng)搭建成功,并將基本的配置項也都已經(jīng)配置完成,那么這里我們就進(jìn)入到對框架的熟悉和一個工具 generator 的使用!

(一)項目部分配置文件的初始化

我們在前面框架中層在 web.xml 文件中配置了一個啟動 Servlet 初始化文件,這里做的就是在項目中需要用到某些配置文件的時候,我們在這個時候?qū)ε渲梦募械闹党跏蓟焦?Properties 中,以方便后面的調(diào)用,基本代碼實現(xiàn)如下:

package com.cuiyongzhi.web.start;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

/**
 * 
 * ClassName: InterfaceUrlIntiServlet
 * 
 * @Description: 項目文件初始化
 * @author dapengniao
 * @date 2015/10/13
 */
public class InterfaceUrlIntiServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    @Override
    public void init(ServletConfig config) throws ServletException {
        InterfaceUrlInti.init();
    }

}
package com.cuiyongzhi.web.start;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import com.cuiyongzhi.web.util.GlobalConstants;

/**
 * 
 * ClassName: InterfaceUrlInti
 * @Description: 項目啓動配置文件初始化
 * @author dapengniao
 * @date 2015/10/13
 */
public class InterfaceUrlInti {

    public synchronized static void init(){
        ClassLoader cl = Thread.currentThread().getContextClassLoader();
        Properties props = new Properties();
        if(GlobalConstants.interfaceUrlProperties==null){
            GlobalConstants.interfaceUrlProperties = new Properties();
        }
        InputStream in = null;
        try {
            in = cl.getResourceAsStream("interface_url.properties");
            props.load(in);
            for(Object key : props.keySet()){
                GlobalConstants.interfaceUrlProperties.put(key, props.get(key));
            }

            props = new Properties();
            in = cl.getResourceAsStream("wechat.properties");
            props.load(in);
            for(Object key : props.keySet()){
                GlobalConstants.interfaceUrlProperties.put(key, props.get(key));
            }

        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            if(in!=null){
                try {
                    in.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return;
    }

}

在這里我初始化化了兩個文件,一個是用來配置在微信開發(fā)中經(jīng)常用的到 appid、AppSecret 的參數(shù)(wechat.properties),另外一個用來初始化我們經(jīng)常用到的 http 請求的 url 地址 interface_url.properties!

初始化成功之后我們只需要通過下面的方法即可在項目中任何想用的地方去使用:GlobalConstants.getInterfaceUrl(key),如下:

package com.cuiyongzhi.web.util;

import java.util.Properties;

public class GlobalConstants {

    public static Properties interfaceUrlProperties;

/**
 * 
 * @Description: TODO
 * @param @param key
 * @param @return   
 * @author dapengniao
 * @date 2015 年 10 月 13 日 下午 4:59:14
 */
    public static String getInterfaceUrl(String key) {
        return (String) interfaceUrlProperties.get(key);
    }

}

(二)對日志文件的配置說明

在我搭建的開發(fā)環(huán)境中采用的是 log4j 日志記錄的方式,這種方式對普通項目是沒有問題的,后續(xù)將有可能升級為 logback,首先我們在 resources 下新建文件 log4j.properties,簡單配置如下:

log4j.rootLogger=DEBUG,Console,File
#ERROR,WARN,INFO,DEBUG   日志輸出等級依次降低,可以根據(jù)自己的需求自己調(diào)整輸出等級

log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Threshold=DEBUG
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n

log4j.appender.File=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.File.File=${catalina.base}/wechatlogs/wechat.log
log4j.appender.File.Threshold=INFO
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.Append=true
log4j.appender.File.ImmediateFlush=true
log4j.appender.File.DatePattern=yyyy-MM-dd'.log'
log4j.appender.File.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n

有了上面的配置文件之后我們在 web.xml 中加入如下的啟動配置即可:

<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:log4j.properties</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

簡單的使用如下圖所示:

http://wiki.jikexueyuan.com/project/java-wechat/images/10.png" alt="" />

(三)Mybatis 工具 Generator

在這里我要推薦一款工具 Generator,在項目開發(fā)中他給我節(jié)省了很多,他的作用是讓我們能很方便生成我們需要的表對應(yīng)的 pojo、mapping、dao 的代碼,而且使用起來非常簡單,由于這篇文章篇幅不短了,所以我開了一篇新的來詳細(xì)講解它的使用,地址:http://www.cuiyongzhi.com/?id=36

感謝你的翻閱,如有疑問可以留言一起討論額!