Mars 3.0.11 正式發布

←手機掃碼閱讀     admin @ 2020-02-12 , reply:0

更新如下

1. 去除了配置文件,採用類配置

更加簡單易懂,且由於類會在編譯時檢查語法,所以不易出錯

2. MarsApi 向下兼容

也就是說以後除了DAP,還支持傳統的Controller寫法

3. MarsApi註解新增屬性

可以統一配置需要的bean,避免每個方法上都要通過MarsReference註解來指定引用的bean

類配置方法

新建一個任意java類,繼承MarsConfig類


public class DemoConfig extends MarsConfig {

    // 數據源,必配,用的是阿里巴巴的 druid數據源,其他屬性可自行查閱
    @Override
    public List jdbcProperties() {
        List list = new ArrayList();

        Properties properties = new Properties();
        properties.put("name","dataSource");
        properties.put("url","jdbc:mysql://10.211.55.15:3306/mars?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8");
        properties.put("username","root");
        properties.put("password","Root123456!");
        properties.put("driverClassName","com.mysql.jdbc.Driver");

        list.add(properties);

        // 如果要多個數據源,add多個到list即可
        return list;
    }

/* ******** 以下內容,如果不需要或者用默認值,則可以不重寫 ******** */

    // 埠號,默認8080
    @Override
    public int port() {
        return super.port();
    }

    // jwt失效時間,默認一天
    @Override
    public int jwtTime() {
        return super.jwtTime();
    }

    // 文件上傳大小限制,默認單個文件2M,一次最多傳10M
    @Override
    public FileUploadConfig fileUploadConfig() {
        return super.fileUploadConfig();
    }

    // 跨域配置,默認可以跨域
    @Override
    public CrossDomainConfig crossDomainConfig() {
        return super.crossDomainConfig();
    }

    // redis連接池,如果項目不需要連redis,可以不重寫
    @Override
    public JedisConfig jedisConfig() {
        return super.jedisConfig();
    }

    // 自定義配置,如果不需要,可以不重寫
    @Override
    public Map marsValues() {
        Map map = new HashMap();
        map.put("aaa.ggg.ccc","123");
        map.put("aaa.jjj","456");
        map.put("lll","789");
        map.put("aaa.bbb.ccc","098");
        map.put("aaa.ccc","765");
        map.put("ggg","432");
        return map;
    }
}

MarsApi向下兼容


@MarsApi
public class DemoController {

    @MarsWrite("userInfoServiceImpl")
    private UserInfoService userInfoService;

    public String demo(UserInfoDTO userInfoDTO, HttpMarsRequest request){
        return "";
    }
}

MarsApi註解新增屬性refBean(僅限於DAP場景)


/**
 * 聲明式介面,暴露給前端
 * 具體的業務邏輯,在這個interface的實現類裡面
 */
@MarsApi(refBean="要引用的bean的name")
public interface UserInfoService {

    /**
     * 引用具體業務邏輯,與Service徹底散藕
     *
     * 這個思路其實跟Dubbo介面差不多
     *
     * @param userInfoDTO
     * @return
     */
    @MarsReference(beanName = "要引用的bean的name(MarsApi註解如果配了refBean,這個就不需要了)",refName = "引用的bean裡面的方法名稱,不配默認為這個方法名")
    String login(UserInfoDTO userInfoDTO);
}

官網地址:http://mars-framework.com/





[admin ]

來源:OsChina
連結:https://www.oschina.net/news/113334/mars-3-0-11-released
Mars 3.0.11 正式發布已經有28次圍觀

http://coctec.com/news/all/show-post-224759.html