java - Spring-Boot 的最终目标

标签 java spring spring-boot

正如你所知,Spring4 带来了新功能,其中最重要的功能之一就是 Spring-boot。 我正在点击下面的链接

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-documentation

https://github.com/spring-projects/spring-boot

Spring-boot 功能在 org.springframework.boot.* 中附带了新的类文件启动 Spring 应用程序。想到两个问题

1-对于JavaSE,我可以轻松地使用以前的spring版本启动spring应用程序,spring-boot的新功能只是为了简单启动

2- 对于JavaEE,据我所知Spring-boot不仅仅适用于javaSE项目,它也可以启动Web项目。因此,将来 spring-boot 将充当应用程序服务器(如 Glassfish)

最佳答案

虽然 Spring Boot 仅适用于 Spring 4+,但从技术上来说它是一个不同的项目。这意味着您无需任何 Spring Boot 代码即可使用 Spring 4。

Spring Boot 的目标是提供一种简单的方法来配置 Spring 应用程序,为我们的应用程序中反复使用的常用内容(否则您必须实现)提供合理的默认值和简单的配置选项。

就启动 Java SE 应用程序而言,Spring Boot 将像任何其他 Java SE 一样使用 main 方法轻松启动应用程序,如下所示:

@Configuration
@EnableAutoConfiguration
//whatever other annotations
public class Application {

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

        //do whatever
    }

}

为了使用Web环境,Spring Boot使用嵌入式servlet容器(默认为Tomcat,但也可以使用Jetty)。这意味着代码如下:

@ComponentScan
@EnableAutoConfiguration
public class Application {

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

@RestController
public class HelloController {

    @RequestMapping("/")
    public String index() {
        return "Greetings from Spring Boot!";
    }

}

足以开始一切(假设所有必需的依赖项都位于类路径上)。

看到运行中的 Spring 代码如此轻巧,真是令人呼吸新鲜空气!您不再需要加载 XML 或 Java 配置文件,默认设置效果很好! 您还可以从 IDE 内的 main 方法启动和停止整个应用程序!甜甜的!

关于java - Spring-Boot 的最终目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24423256/

相关文章:

java - 如何在 spring boot rest 应用程序中使用 Swagger ui 配置带有密码流的 oAuth2

java - 如何在intellij的现有项目中添加vaadin而不是thymeleaf?

java - 输入一个txt文件,每一行都有一堆数字

java - Selenium 从 Excel 获取电话号码后输入 9.888888888E9

java - 部分填充的实体对象并在更新期间保持数据一致

spring - 如何处理 Spring reactor Mono 或 Flux 中的错误?

java - Spring JPA - 连接非持久字段

java - 获取 spring bean 初始化时间

spring-boot - consul first bootstrap with spring cloud 配置

java - 如何将输入发送到 Junit 中的 System.console.readLine(...)?