【问题标题】:Ultimate Aim of Spring-Boot [closed]Spring-Boot 的终极目标 [关闭]
【发布时间】:2014-08-16 21:03:33
【问题描述】:

您可能知道 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)

【问题讨论】:

    标签: java spring spring-boot


    【解决方案1】:

    虽然 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 方法启动和停止整个应用程序!甜!

    【讨论】:

    • 如果是不同的项目,有没有办法通过spring-boot启动spring3项目?
    • @mmc18 据我所知,这是不可能的! Spring Boot 的核心部分依赖于 Spring 4(比如 @Conditional 的存在)
    • 我仍然认为,未来我们可能会发现自己处理的是 Spring-boot 参数而不是应用程序本身。我的意思是有很多特定的 jar 文件,例如 WS、JPA、..etc。
    • @mmc18 对不起,我不太明白你的意思。你能澄清一下吗?
    • 我的意思是我可能会花尽可能多的时间在 javaee 容器中和通过 spring-boot 运行我的应用程序。
    猜你喜欢
    • 2016-09-01
    • 1970-01-01
    • 2015-06-11
    • 2015-05-04
    • 2021-07-09
    • 2019-09-26
    • 2014-12-27
    • 2019-02-04
    • 2011-01-30
    相关资源
    最近更新 更多