ActFramework 1.7.0 - 1.8.1,高性能 Java Web 框架

没有及时发布新闻,真是不好意思。今天打个新闻批发,把 Act 1.7.0 到 1.8.1 中值得注意的更新给大家汇报一下。

Act-1.8.1 - 2018-03-11

  • 支持 Request Forward

@GetAction("shortcut/{shortUrl}"public void shortUrlHandler(String shortUrl, UrlMapper urlMapper) {
   String longUrl = urlMapper.get(shortUrl);
   Controller.Util.forward(longUrl);
}

forward 和 redirect 的区别:forward 不会发回 303 给浏览器,而是在应用内部直接分派到相关请求响应器。注意:forward 只支持 HTTP GET 请求

更多 act-1.8.1 的内容

Act-1.8.0 - 2018-03-04

  • 实现了新的响应输出模型,大大优化响应输出的内存,对大字节内容输出性能上有少量提升

  • 项目布局支持 gradle-groovy

  • CacheService 注入支持 @Named

// Before
private CacheService fooCache = Act.app().cache("foo");

// After
@Named("bar")
@Inject
private barCache;
  • timestamp auditing 支持在 base class 上定义的 timestamp 字段

@MappedSuperClass
public class BaseModel {

    @CreatedAt public Date created;
    @LastModifiedAt public Date lastModified;

}
  • @Configuration 支持 static 字段

@Configuration("foo.bar")
public static String fooBar;

更多 act-1.8.0 的内容

Act-1.7.2 - 2018-02-25

  • 支持 Timestamp Audting

public class User {
    public String username;
    ...
    @CreatedAt
    public Date created;
    @LastModified
    public Date lastModified;

}

更多 act-1.7.2 的内容

Act-1.7.1 - 2018-02-21

  • 允许用户定义 action handler 支持 Partial Path

@GetAction("/file/...")
public File handleFileRequest(@PartialPath String filePath) {
    // filePath should be anything in the URL path that after `/file/`
}

更多 act-1.7.1 的内容

Act-1.7.0 - 2018-02-19

  • 静态资源支持 DirectoryIndex - 自动查找目录下的 index.html 文件

  • API Doc TOC 以 HTTP Method 和 URL 组织

  • @Sensitive 数据字段支持

// creditCardNo 字段内容会被框架加密处理后存入数据库
// 从数据库取出数据时会自动解密
public class User {
    public String firstName;
    public String lastName;
    public String email;
    public String mobile;
    @Sensitive
    public String creditCardNo;   
}
  • 简化密码字段处理

// 老办法
public class User {
    public String username;
    private String passhash;
    public void setPassword(String password) {
        passhash = Act.crypto().passwordHash(password);
    }
}

// 新办法
public class User {
    public String username;
    @Password
    public String password;
}
  • 简化方法执行的测量

// 老方式
public class Foo {
    private Metric metric = Act.metricPlugin().metric("app");
    // measure bar1 execution time
    public void bar1() {
        Timer timer = metric.startTimer("bar1");
        try {
            ...
        } finally {
            timer.stop();
        }
    }
    // measure bar2 execution count
    public void bar2() {
        metric.countOnce("bar2");
        ...
    }
}

// 新方式
// define measure namespace.
// `("foo")` is optional and can be inferred from class name
@MetricLabel("foo")
public class Foo {
    @MeasureTime("bar1"// ("bar1") is optional and can be inferred from method name
    public void bar1() {
        ...
    }
    @MeasureCount("bar2"// `("bar2")` is optional and can be inferred from method name
    public void bar2() {
        ...
    }
}
  • AppEvent 重命名为 SysEvent, AppEventId 重命名为 SysEventId

  • 支持 JAX-RS 方式定义 Controller Action Handler

public class TestController {

    // Act Style
    @GetAction("foo")
    public String foo() {return "foo";}

    // JAX-RS style
    @GET @PATH("bar")
    public String bar() {return "bar";}

}
public class Demo {
    @LoadResource("name.list")
    public List<String> nameList

    @LoadResource("name.list")
    public File nameListFile

    @LoadResource("name.list")
    public Set<String> uniqNameList;

    @LoadResource("pojo.json")
    public MyPojo myPojo;
}

更多 act-1.7.0 的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ActFramework是一种简洁易用,具有强大表达力的Java MVC全栈框架。 特征: 1、完整的堆栈MVC框架 Actframework 不是 Servlet框架。Act应用程序未在Servlet容器中运行。相反,它可以作为独立的Java应用程序运行,并且可以在几秒钟内启动 2、无与伦比的开发经验和出色的性能 开发时,切勿重新启动应用程序。Act的开发模式提供了热重载功能,这使其成为每个Java Web应用程序开发人员的梦想。看看这个3分钟的视频,感觉它! 根据TechEmpower框架基准法案,击败了市场上最完整的Java Web框架。在某些情况下,Act可能比Springboot快十倍以上 3、完全JSR330依赖注入支持 ActFramework的DI支持建立在Genie之上,Genie是一种轻量级且快速的 JSR330实现。 得益于Act强大的类扫描功能,它不需要用户从模块创建注射器(就像通常使用Guice的方法一样)。声明模块并自动注册绑定 4、一流的SPA /移动应用程序支持 很棒的JSON / RESTful支持 内置的CORS支持 会话/标题映射,因此您不仅限于Cookie 内置JWT支持 5、毫不妥协的安全性 会话cookie是安全的,并且只有http,有效载荷已签名和加密(可选) 只需一项配置即可启用CSRF预防 XSS预防:默认的节奏引擎逃脱输出变量默认 使用AAA插件实施您的身份验证/授权/会计框架 6、注意注释但不注释堆栈 注释是ActFramework用于提高表达能力的工具之一。但是,我们不喜欢疯狂的注释堆栈代码。相反,我们使代码以自然的方式表达意图,并尽可能保存注释的使用。 7、多环境配置 ActFramework支持的概念profile使您可以轻松地在不同的环境(由配置文件定义)中组织配置。 8、简单而强大的数据库支持 内置多数据库支持 9、具有多种渲染引擎支持的强大视图架构 10、令人难以置信的自动化测试框架,从未在任何其他MVC框架中提供 11、常用工具 发送邮件 安排工作 事件处理和调度

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值