1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 jboot 1.0-alphpa1 发布,类似 springboot 的开源框架 下载

本帖由 漂亮的石头2017-06-05 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,984
    赞:
    47
    jboot


    jboot是一个基于jfinal、undertow开发的一个类似springboot的开源框架, 我们已经在正式的商业上线项目中使用。她集成了代码生成,微服务,MQ,RPC,监控等功能, 开发者使用及其简单。

    maven dependency


    <dependency>
    <groupId>io.jboot</groupId>
    <artifactId>jboot</artifactId>
    <version>1.0-alphpa1</version>
    </dependency>
    controller example


    new a controller

    @UrlMapping(url="/")
    public class MyController extend JbootController{
    public void index(){
    renderText("hello jboot");
    }
    }

    start

    public class MyStarter{
    public static void main(String [] args){
    Jboot.run(args);
    }
    }

    visit: http://127.0.0.1:8088

    mq example


    config jboot.properties

    #type default redis (support: redis,activemq,rabbitmq,hornetq,aliyunmq )
    jboot.mq.type = redis
    jboot.mq.redis.address = 127.0.0.1
    jboot.mq.redis.password =
    jboot.mq.redis.database =

    server a sendMqMessage

    Jboot.getMq().publish(yourObject, toChannel);

    server b message listener

    Jboot.getMq().addMessageListener(new JbootmqMessageListener(){
    @Override
    public void onMessage(String channel, Object obj) {
    System.out.println(obj);
    }
    }, channel);
    rpc example


    config jboot.properties

    #type default motan (support:local,motan,grpc,thrift)
    jboot.rpc.type = motan
    jboot.rpc.requestTimeOut
    jboot.rpc.defaultPort
    jboot.rpc.defaultGroup
    jboot.rpc.defaultVersion
    jboot.rpc.registryType = consul
    jboot.rpc.registryName
    jboot.rpc.registryAddress = 127.0.0.1:8500

    define interface

    public interface HelloService {
    public String hello(String name);
    }

    server a export serviceImpl

    @JbootrpcService(export = HelloService.class)
    public class myHelloServiceImpl extends JbootService implements HelloService {
    public String hello(String name){
    System.out.println("hello" + name);
    return "hello ok";
    }
    }

    server b call

    HelloService service = Jboot.service(HelloService.class);
    service.hello("michael");
    cache example


    config jboot.properties

    #type default ehcache (support:ehcache,redis,ehredis (ehredis:tow level cache,ehcache level one and redis level tow))
    jboot.cache.type = redis
    jboot.cache.redis.address =
    jboot.cache.redis.password =
    jboot.cache.redis.database =

    use cache

    Jboot.getCache().put("cacheName", "key", "value");
    database access example


    config jboot.properties

    #type default mysql (support:mysql,oracle,db2...)
    jboot.datasource.type=
    jboot.datasource.url=
    jboot.datasource.user=
    jboot.datasource.password=
    jboot.datasource.driverClassName=
    jboot.datasource.connectionInitSql=
    jboot.datasource.cachePrepStmts=
    jboot.datasource.prepStmtCacheSize=
    jboot.datasource.prepStmtCacheSqlLimit=

    define model

    @Table(tableName = "user", primaryKey = "id")
    public class User extends JbootModel<User> {

    }

    dao query

    public class UserDao {
    public static find User DAO = new User();

    public User findById(String id){
    return DAO.findById(id);
    }

    public List<User> findByNameAndAge(String name,int age){
    return DAO.findListByColums(Columns.create().like("name","%"+name+"%").gt("age",age));
    }
    }
    event example


    send event

    Jboot.sendEvent(actionStr, dataObj)

    event listener

    @EventConfig(action = {User.ACTION_ADD,User.ACTION_DELETE})
    public class MyEventListener implements JbootEventListener {

    public void onMessage(JbootEvent event){

    if(event.getAction.equals(User.ACTION_ADD)){
    System.out.println("new user add, user:"+event.getData);
    }else if(event.getAction.equals(User.ACTION_DELETE)){
    System.out.println("user deleted, user:"+event.getData);
    }

    }

    }
    read config


    config jboot.properties

    jboot.myconfig.user = aaa
    jboot.myconfig.password = bbb

    define config model

    @PropertieConfig(prefix = "jboot.myconfig")
    public class MyConfig {

    private String name;
    private String password;

    // getter and setter
    }

    get config model

    MyConfig config = Jboot.config(MyConfig.class);
    System.out.println(config.getName());
    code generator


    public static void main(String[] args) {

    String modelPackage = "io.jboot.test";

    String dbHost = "127.0.0.1";
    String dbName = "yourDbName";
    String dbUser = "root";
    String dbPassword = "";

    JbootModelGenerator.run(modelPackage, dbHost, dbName, dbUser, dbPassword);

    }
    build


    config pom.xml

    <build>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
    <source>1.8</source>
    <target>1.8</target>
    </configuration>
    </plugin>


    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>appassembler-maven-plugin</artifactId>
    <version>1.10</version>
    <configuration>


    <assembleDirectory>${project.build.directory}/app</assembleDirectory>
    <repositoryName>lib</repositoryName>
    <binFolder>bin</binFolder>
    <configurationDirectory>webRoot</configurationDirectory>
    <copyConfigurationDirectory>true</copyConfigurationDirectory>
    <configurationSourceDirectory>src/main/resources</configurationSourceDirectory>
    <repositoryLayout>flat</repositoryLayout>
    <encoding>UTF-8</encoding>
    <logsDirectory>logs</logsDirectory>
    <tempDirectory>tmp</tempDirectory>

    <programs>
    <program>
    <mainClass>io.jboot.Jboot</mainClass>
    <id>jboot</id>
    <platforms>
    <platform>windows</platform>
    <platform>unix</platform>
    </platforms>
    <jvmSettings>
    <extraArguments>
    <extraArgument>-server</extraArgument>
    <extraArgument>-Xmx2G</extraArgument>
    <extraArgument>-Xms2G</extraArgument>
    </extraArguments>
    </jvmSettings>
    </program>
    </programs>
    </configuration>
    </plugin>

    </plugins>

    </build>

    maven build

    mvn package appassembler:assemble
    start app


    cd yourProjectPath/target/app/bin
    ./jboot

    start app and change config

    cd yourProjectPath/target/app/bin
    ./jboot --jboot.server.port=8080 --jboot.rpc.type=local

    use your properties replace jboot.properties

    cd yourProjectPath/target/app/bin
    ./jboot --jboot.model=dev --jboot.server.port=8080

    use jboot-dev.proerties replace jboot.properties and set jboot.server.port=8080
    jboot 1.0-alphpa1 发布,类似 springboot 的开源框架下载地址
     
正在加载...