当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Spring Boot企业常用的starter示例详解

    栏目:Linux/apache问题 时间:2020-01-01 00:41

    SpringBoot简介#

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

    Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个Spring引用。你也可以打包你的应用为jar并通过使用java -jar来运行你的Spring Web应用。

    Spring Boot的主要优点:

    为所有Spring开发者更快的入门 开箱即用,提供各种默认配置来简化项目配置 内嵌式容器简化Web项目 没有冗余代码生成和XML配置的要求

    在下面的代码中只要有一定基础会发现这写代码实例非常简单对于开发者来说几乎是“零配置”。

    SpringBoot运行#

    开发工具:jdk8,IDEA,STS,eclipse(需要安装STS插件)这些都支持快速启动SpringBoot工程。我这里就不快速启动了,使用maven工程。学习任何一项技术首先就要精通HelloWord,那我们来跑个初体验。

    首先只用maven我们创建的maven工程直接以jar包的形式创建就行了,首先我们来引入SpringBoot的依赖

    首先我们需要依赖SpringBoot父工程,这是每个项目中必须要有的。

    <!--引入SpringBoot父依赖-->
    <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.0.5.RELEASE</version>
      <relativePath/> 
    </parent>
    <!--编码与JAVA版本-->
    <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <java.version>1.8</java.version>
    </properties>

    我们启动WEB模块当然必须要引入WEB模块的依赖

    <dependencies>
      <!--引入SpringBoot-WEB模块-->
      <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
     </dependencies>

    我们需要编写一个SpringBoot启动类,SpringbootFirstExperienceApplication.java

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

    到了这里我们直接把他当成SpringMVC来使用就行了,不过这里默认是不支持JSP官方推荐使用模板引擎,后面会写到整合JSP。这里我就不写Controller了。

    @SpringBootApplication:之前用户使用的是3个注解注解他们的main类。分别是@Configuration,@EnableAutoConfiguration,@ComponentScan。由于这些注解一般都是一起使用,spring boot提供了一个统一的注解@SpringBootApplication。

    注意事项:我们使用这个注解在不指定扫描路径的情况下,SpringBoot只能扫描到和SpringbootFirstExperienceApplication同包或子包的Bean;

    SpringBoot目录结构#

    在src/main/resources中我们可以有几个文件夹:

    templates:用来存储模板引擎的,Thymeleaf,FreeMarker,Velocity等都是不错的选择。