For following features :We use annotation based configurations

For the quite of the few time, i am working on groovy grails and now there is a need to shift the current project to microservices architecture.Now the first question come to my mind  is which one to use  Groovy grails or Spring Boot  ?Spring Boot:If you are into the java developement then you might have heard the Spring Framework. now the thing is what Spring does?Spring framework is an application framework for java platform . It is used to create stand alone spring based application that you can just run because it needs very little spring configuration.Spring is one of the most dominant framework in the market right now.The question is why spring is so popular?it is popular because: It provides the concept of dependency injection which says our focus should be on how to use object instead of how to create objects.It simplifies process of connecting spring to other frameworks like  JPA/Hibernate ORM, Struts/JSF/etc. It provides concept of powerful spring security to secure our application from unauthorise access.It provides strong transaction Management .Now  if spring is that powerful then why do we need a another technology like Spring Boot?answer of this question is  in Spring Framework  we need to maintain a lot of configuration file(xml) and this becomes a tedious and a complex process if the project is huge.To overcome this problem spring boot cames into the market which provides following features :We use annotation based configurations means there is no need of maintaining the configuration files.Spring Boot applications are secure by default with basic authentication on all HTTP endpoints. Spring boot uses Common logging for all internal logging.Logging dependencies are managed by default.  The SpringApplication class autonatically support YAML. It is successful alternative of properties. We can easily create a self-contained HTTP server using embedded Tomcat. we can use Spring-Boot-Starter-web module to quickly run an application.Groovy Grails:Groovy is an object oriented programming language. it is a dynamic language for java platfrom and grails is the framework which use groovy as a language.It is so java rooted that it actually compiles to run on java platform so we can say that groovy is actually java and that’s why it runs on jvm which means our application can run on differnt application server like one of the most popular apache tomcat at the same time it can also run on Jboss and weblogic.It uses convention over configuration to configure itself.Before grails 3 it was not possible yo implement microservices but with the introduction of grails 3 we have all the functionality of spring boot.It provides following features:Grails fully uses Groovy to enable many features that would not be possible using Java , including  Trait-based solutions,many DSLs, AST Transformations and many more.GORM is the most flexible and most powerful data acces toolkit for the jvm and it support many type of databases like Hibernate,MongoDb,JPA etc. Easy learning curve.Support for domain-specific languages.Comapct SysntaxSupport for unit testing.