today-infrastructure

A Java library for applications software infrastructure

GPL-3.0 License

Stars
100
Committers
6

TODAY Infrastructure

Logo A Java library for applications software infrastructure.

You ask me what the elegant code looks like? Then I have to show it!

https://taketoday.cn https://github.com/TAKETODAY/today-blog

Java Servlet Struts2 XML today-web

Java today-web

today-web Spring IoC Mini Spring `` today-web IoC mini-spring20216-202112 Spring B 2021

2018,Git Mini Spring JavaJavaGit Spring Spring

today-rpc, today-distributed-*

Gradle

settings.gradle

buildscript {
  repositories {
    mavenLocal()
    maven {
      url "https://oss.sonatype.org/content/repositories/snapshots/"
    }
    mavenCentral()
  }

  dependencies {
    classpath "cn.taketoday:infra-gradle-plugin:5.0.0-Draft.1-SNAPSHOT"
  }
}

build.gradle

apply plugin: "java"
apply plugin: 'cn.taketoday.application'
apply plugin: 'io.spring.dependency-management' //  infra-dependencies

repositories {
  mavenLocal()
  maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
  maven { url "https://maven.aliyun.com/repository/public" }
  mavenCentral()
}

dependencies {
  implementation 'cn.taketoday:ip2region-java:1.0-SNAPSHOT'
  implementation 'cn.taketoday:today-starter-netty'
  implementation 'cn.taketoday:today-starter-web'
}

infra-samples

Maven

<dependency>
  <groupId>cn.taketoday</groupId>
  <artifactId>today-starter-web</artifactId>
  <version>${infraVersion}</version>
</dependency>

<dependency>
  <groupId>cn.taketoday</groupId>
  <artifactId>today-starter-netty</artifactId>
  <version>${infraVersion}</version>
</dependency>

@Slf4j
@RestController
@InfraApplication
public class DemoApplication {

  public static void main(String[] args) {
    Application.run(DemoApplication.class, args);
  }

  @GET("/index")
  public String index() {
    return "Hello";
  }

  @GET("/body/{name}/{age}")
  public Body body(String name, int age) {
    return new Body(name, age);
  }

  @GET("/publish-event")
  public void index(String name, @Autowired ApplicationEventPublisher publisher) {
    publisher.publishEvent(new MyEvent(name));
  }

  @GET("/request-context")
  public String context(RequestContext context) {
    String requestURL = context.getRequestURL();
    String queryString = context.getQueryString();
    System.out.println(requestURL);
    System.out.println(queryString);

    return queryString;
  }

  record Body(String name, int age) {

  }

  @Configuration
  static class AppConfig {

    @EventListener(MyEvent.class)
    public void event(MyEvent event) {
      log.info("event :{}", event);
    }
  }

  record MyEvent(String name) {
    
  }

  @ExceptionHandler(Throwable.class)
  public void throwable(Throwable throwable) {
    throwable.printStackTrace();
  }

}

GPLv3

Package Rankings
Top 19.5% on Repo1.maven.org
Badges
Extracted from project README's
GPLv3 Deploy Coveralls CI Codacy Badge Coverage Status
Related Projects