Java 弹簧靴的终极目标

Java 弹簧靴的终极目标,java,spring,spring-boot,Java,Spring,Spring Boot,正如您所知,Spring4附带了一些新特性,其中最重要的特性之一就是SpringBoot。 我正在关注下面的链接 Spring启动功能在org.springframework.boot.*中提供了新的类文件来启动Spring应用程序。有两个问题在脑海中浮现 1-对于JavaSE,我可以用以前的spring版本轻松启动spring应用程序,因为spring boot的新功能只是为了简单的启动 2-对于JavaEE,据我所知,Spring boot不仅仅适用于javaSE项目,它还可以启动web

正如您所知,Spring4附带了一些新特性,其中最重要的特性之一就是SpringBoot。 我正在关注下面的链接

Spring启动功能在
org.springframework.boot.*
中提供了新的类文件来启动Spring应用程序。有两个问题在脑海中浮现

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


2-对于JavaEE,据我所知,Spring boot不仅仅适用于javaSE项目,它还可以启动web项目。因此,在未来,spring boot将作为应用服务器工作(如Glassfish)

尽管spring boot仅适用于spring 4+,但从技术上讲,它是一个不同的项目。这意味着您可以使用Spring4,而无需任何Spring引导代码

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环境,SpringBoot使用嵌入式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!";
    }

}
足够让一切开始(假设所有必需的依赖项都在类路径上)

看到这么轻的工作弹簧代码,是一股新鲜空气!您不再需要加载XML或Java配置文件,默认设置非常有效!
您还可以从IDE中的主方法启动和停止整个应用程序!好极了

如果是不同的项目,有没有办法通过SpringBoot启动spring3项目?@mmc18据我所知,这是不可能的!SpringBoot的核心部分依赖于Spring4(比如存在
@Conditional
),我仍然认为,在未来,我们可能会发现自己处理的是SpringBoot参数,而不是应用程序本身。我的意思是有很多特定的jar文件,比如WS、JPA……等等@mmc18对不起,我真的不明白你的意思。你能澄清一下吗?我的意思是,我可能会花相当多的时间在javaee容器中运行我的应用程序,并通过SpringBoot。