SpringSource官方今天发布了Grails 1.2下载地址。使用Grails的朋友可以直下载升级到最新版本的Grails 1.2了。因为昨天Groovy 1.7刚刚发布,估计Grails也耐不住寂寞要升级了吧。Grails是一套基于Groovy和Java开发的web框架,Grails使用了JavaEE中最优秀的api,包括Spring,Hibernate,SiteMesh等,以为采用了Groovy脚本语言进行编写,因此Grails对于使用者来说是一个方便、敏捷并且符合各种规范的Java web开发框架,同时因为Groovy符合JavaEE规范,并且使用Java和Groovy编写(Groovy也运行在JVM上),因此Grails可以轻松的于现有的技术应用整合。
Grails1.2下载地址:
Grails1.2下载
Grails 1.2的心特性包括:
Grails 1.2增强了Dependency Resolution DSL功能,可以更方便的使用maven仓库解决jar依赖问题
grails.project.dependency.resolution = { inherits "global" // inherit Grails' default dependencies repositories { grailsHome() mavenCentral() } dependencies { runtime 'com.mysql:mysql-connector-java:5.1.5' } }
Grails 1.2在性能方面有显著的提升,主要是改善了Sitemesh渲染引擎方面的效率
Grails 1.2新增了对BootStrap环境的支持(启动环境)
def init = { ServletContext ctx -> environments { production { ctx.setAttribute("env", "prod") } development { ctx.setAttribute("env", "dev") } } ctx.setAttribute("foo", "bar") }
Grails 1.2新增了对Spring 3.0的支持:
@Controller class SpringController { @Autowired SessionFactory sessionFactory @RequestMapping("/hello.dispatch") ModelMap handleRequest() { def session = sessionFactory.getCurrentSession() return new ModelMap(session.get(Person, 1L)) } }
Grails 1.2新增了对URI重写的功能
"/hello"(uri:"/hello.dispatch")
Grails 1.2支持通过@Transactional表示方法开启事物功能
import org.springframework.transaction.annotation.* class BookService { @Transactional(readOnly = true) def listBooks() { Book.list() } @Transactional def updateBook() { // … } }
Grails 1.2支持命名查询
class Publication { String title Date datePublished static namedQueries = { recentPublications { def now = new Date() gt 'datePublished', now - 365 } publicationsWithBookInTitle { like 'title', '%Book%' } } }
更多Groovy1.2的新特性轻访问:
Groovy1.2ReleaseNote
[ad#468-60]