zheng framework
please go to documentation website zhengframework
Zheng framework is a modular framework with many ready-made modules.
Zheng framework uses Google guice for dependency management. For ease of use, most modules support automatic loading through ServiceLoader.
Quick Start
step 1: add maven dependency
<dependencyManagement>
<dependencies>
<dependency>
<artifactId>zheng-bom</artifactId>
<groupId>com.github.zhengframework</groupId>
<scope>import</scope>
<type>pom</type>
<version>${zheng.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<artifactId>zheng-bootstrap</artifactId>
<groupId>com.github.zhengframework</groupId>
</dependency>
<dependency>
<artifactId>zheng-web-jetty</artifactId>
<groupId>com.github.zhengframework</groupId>
</dependency>
<dependency>
<artifactId>zheng-rest</artifactId>
<groupId>com.github.zhengframework</groupId>
</dependency>
</dependencies>
step 2: add config
create config file in resource dir:
src/test/resources/application.properties
content:
zheng.web.contextPath=/
zheng.web.port=8080
zheng.rest.path=/
step 3: create rest resource
create a class to show inject object.
public class Man {
public String say() {
return "hello, thanks to use zheng framework";
}
}
import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
@Path("first")
public class FirstResource {
private final Man man;
@Inject
public FirstResource(Man man) {
this.man = man;
}
@GET
@Path("hello")
public String hello() {
return man.say();
}
}
step 4: create guice module
import com.google.inject.servlet.ServletModule;
public class FirstModule extends ServletModule {
@Override
protected void configureServlets() {
bind(FirstResource.class);
}
}
step 5: create bootstrap class
import com.github.zhengframework.bootstrap.ZhengApplication;
import com.github.zhengframework.bootstrap.ZhengApplicationBuilder;
public class FirstUseZhengFramework {
public static void main(String[] args) throws Exception {
ZhengApplication application = ZhengApplicationBuilder.create()
.addModule(new FirstModule())
.build();
application.start();
}
}
step 6: run code
- please run
FirstUseZhengFramework.main
- open your web browser, enter url:
http://127.0.0.1:8080/first/hello
- you will get string: hello, thanks to use zheng framework
Module Info
Module | status | auto load |
---|---|---|
zheng-configuration | OK | yes |
zheng-web-jetty | OK | yes |
zheng-web-undertow | OK | yes |
zheng-webjars | OK | yes |
zheng-swagger | OK | yes |
zheng-rabbitmq | OK | yes |
zheng-healthcheck | OK | yes |
zheng-cache | OK | yes |
zheng-mongodb | OK | yes |
zheng-memcached | OK | yes |
zheng-redis | OK | yes |
zheng-metrics | OK | yes |
zheng-metrics-servlet | OK | yes |
zheng-rest | OK | yes |
zheng-shiro | OK | yes |
zheng-shiro-web | OK | yes |
zheng-shiro-jaxrs | OK | yes |
zheng-log-logback | OK | yes |
zheng-jdbc | OK | yes |
zheng-migrate-flyway | OK | yes |
zheng-migrate-liquibase | OK | yes |
zheng-jdbc-jooq | OK | yes |
zheng-jdbc-querydsl | OK | yes |
zheng-jdbc-jdbi | OK | yes |
zheng-jdbc-sql2o | OK | yes |
zheng-jdbc-commons-dbutils | OK | yes |
zheng-jdbc-ebean | OK | yes |
zheng-jpa-hibernate | OK | yes |
zheng-jpa-eclipselink | OK | yes |
zheng-mybatis | OK | yes |
zheng-event-guava | OK | yes |
zheng-validator-hibernate | OK | yes |
zheng-validator-bval | OK | yes |
zheng-job | OK | yes |
zheng-remote-config | OK | yes |