更新如下
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/
转自 https://www.oschina.net/news/113334/mars-3-0-11-released