我打算一年多以前写一篇关于Spring Boot的文章。 最后,我有时间和灵感。 因此,准备10到15分钟的高质量Spring教程。 我将用Gradle和嵌入式Tomcat演示Spring Boot的基础知识。 我使用Intellij IDEA而不是Eclipse,但是对于那些习惯Eclipse的人来说,这应该不是问题。
Spring Boot简介
我的目标是什么? 我想开发与我以前有关Spring和Java配置的教程之一非常相似的东西。 比较两种不同的Spring开发方法是一个很好的练习。
毫无疑问,你们大多数人都知道Spring Boot的主要目标是什么。 对于其他读者,我想说Spring Boot使开发人员更快乐,因为它可以进行配置,而开发人员可以专注于代码生产。 有关更多详细信息,请阅读官方参考 。
Gradle构建文件
为了管理依赖关系和项目的构建,我使用了Gradle。 这是build.gradle文件的外观:
buildscript {repositories {//Required reposmavenCentral()maven { url "http://repo.spring.io/snapshot" }maven { url "http://repo.spring.io/milestone" }}dependencies {//Required dependency for spring-boot pluginclasspath 'org.springframework.boot:spring-boot-gradle-plugin:1.1.2.BUILD-SNAPSHOT'}
}apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'spring-boot'war {baseName = 'companies'version = '0.1'
}repositories {mavenCentral()maven { url "http://repo.spring.io/snapshot" }maven { url "http://repo.spring.io/milestone" }
}dependencies {compile 'org.springframework.boot:spring-boot-starter-web'//Required dependency for JSPprovidedRuntime 'org.apache.tomcat.embed:tomcat-embed-jasper'
}
如果您不熟悉Gradle,建议您在其他地方(例如,官方网站)上阅读它。 这是非常好的实用工具。 它可以完成Maven的所有工作,但是没有XML!
Spring Boot初始化
现在我们可以在Java代码级别上设置Spring Boot。
package com.companies;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;@Configuration
@ComponentScan
@EnableAutoConfiguration
public class CompanyApplication {public static void main(String[] args) {SpringApplication.run(CompanyApplication.class, args);}}
就是这样,现在您可以开始开发业务逻辑了。 只是在开玩笑,我们需要添加一些与视图解析有关的额外配置。
package com.companies.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;@Configuration
@EnableWebMvc
public class WebMvcConfig extends WebMvcConfigurerAdapter{@Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {configurer.enable();}@Beanpublic InternalResourceViewResolver viewResolver() {InternalResourceViewResolver resolver = new InternalResourceViewResolver();resolver.setPrefix("WEB-INF/pages/");resolver.setSuffix(".jsp");return resolver;}}
创建上面发布的类之后,您可以继续进行控制器开发。
控制器和视图
package com.companies.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;@Controller
public class HelloWorldController {@RequestMapping(value = "/hello", method = RequestMethod.GET)public ModelAndView hello() {ModelAndView mav = new ModelAndView();mav.setViewName("hello");String str = "Hello World!";mav.addObject("message", str);return mav;}}
以及控制器的相应视图hello.jsp :
<html>
<head><title>Hello world page</title>
</head>
<body><h1>${message}</h1>
</body>
</html>
我希望不必重复所有这些步骤。
运行Spring Boot应用程序
在本教程中,我们要做的最后一件事是启动应用程序。 因此,我使用Gradle,并在我们的build.gradle文件中指定了应用程序需要打包为WAR文件–我需要运行build和war文件。
这是在IDEA中的样子:
结果您可以在这里看到: localhost:8080 / hello
翻译自: https://www.javacodegeeks.com/2014/06/spring-boot-fast-mvc-start.html