欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaEE微框架Spring Boot深入解读

程序员文章站 2024-02-27 18:00:09
前言 spring框架作为javaee框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时spring框架及其子框架很多,所以知识量很广。 spring...

前言

spring框架作为javaee框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时spring框架及其子框架很多,所以知识量很广。

spring boot:一款spring框架的子框架,也可以叫微框架,是2014年推出的一款使spring框架开发变得容易的框架。学过spring框架的都知识,spring框架难以避免地需要配置不少xml,而使用spring boot框架的话,就可以使用注解开发,极大地简化基于spring框架的开发。

spring boot充分利用了javaconfig的配置模式以及“约定优于配置”的理念,能够极大的简化基于spring mvc的web应用和rest服务开发。

然后本博客介绍基于idea编辑器的spring boot项目创建和部署。

spring boot项目创建

1.创建maven项目

JavaEE微框架Spring Boot深入解读

2.在pom.xml加入spring boot的jar

如果只是测试一个字符串输出的话,只要加入spring-boot-starter(核心模块)和spring-boot-starter-web(因为这个一个web项目),可以参考我的配置,这里使用了spring boot热部署,需要去github上搜索jar:springloaded-1.2.4.release.jar,然后下载放在项目的lib文件夹里

<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
 xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 <modelversion>4.0.0</modelversion>
 <groupid>com.example</groupid>
 <artifactid>demo</artifactid>
 <packaging>war</packaging>
 <version>1.0-snapshot</version>
 <name>demo maven webapp</name>
 <parent>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-parent</artifactid>
  <version>1.5.1.release</version>
  <relativepath/>
 </parent>
 <properties>
  <project.build.sourceencoding>utf-8</project.build.sourceencoding>
  <java.version>1.8</java.version>
  <spring-boot-admin.version>1.4.5</spring-boot-admin.version>
 </properties>
 <dependencies>
  <dependency>
   <groupid>junit</groupid>
   <artifactid>junit</artifactid>
   <version>3.8.1</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupid>org.springframework.boot</groupid>
   <artifactid>spring-boot-starter-web</artifactid>
  </dependency>
  <dependency>
   <groupid>org.springframework.boot</groupid>
   <artifactid>spring-boot-starter-actuator</artifactid>
  </dependency>
  <dependency>
   <groupid>org.springframework.boot</groupid>
   <artifactid>spring-boot-starter-test</artifactid>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupid>de.codecentric</groupid>
   <artifactid>spring-boot-admin-starter-client</artifactid>
   <version>${spring-boot-admin.version}</version>
  </dependency>
  <dependency>
   <groupid>org.springframework.boot</groupid>
   <artifactid>spring-boot-starter</artifactid>
  </dependency>
 </dependencies>
 <build>
  <plugins>
   <plugin>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-maven-plugin</artifactid>
   </plugin>
   <plugin>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-maven-plugin </artifactid>
    <dependencies>
     <!--springloaded hot deploy -->
     <dependency>
      <groupid>org.springframework</groupid>
      <artifactid>springloaded</artifactid>
      <systempath>${basedir}/src/main/webapp/web-inf/lib/springloaded-1.2.5.release.jar</systempath>
     </dependency>
    </dependencies>
    <executions>
     <execution>
      <goals>
       <goal>repackage</goal>
      </goals>
      <configuration>
       <classifier>exec</classifier>
      </configuration>
     </execution>
    </executions>
   </plugin>
  </plugins>
 </build>
</project>

刷新,下载jar到maven项目里  

JavaEE微框架Spring Boot深入解读 

3.编写程序,项目结构如图

JavaEE微框架Spring Boot深入解读

写个启动类application.java:

启动类设置端口为8087,因为默认端口是8080,而有很多应用都是8080端口,避免重复,最好自己改端口

其中@springbootapplication申明让spring boot自动给程序进行必要的配置,等价于以默认属性使用

@configuration,@enableautoconfiguration和@componentscan
package com;
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
import org.springframework.boot.builder.springapplicationbuilder;
import org.springframework.boot.context.embedded.configurableembeddedservletcontainer;
import org.springframework.boot.context.embedded.embeddedservletcontainercustomizer;
import org.springframework.boot.web.support.springbootservletinitializer;
import org.springframework.scheduling.annotation.enableasync;
@springbootapplication
@enableasync
public class application implements embeddedservletcontainercustomizer {
  public static void main(string[] args) {
    springapplication.run(application.class, args);
  }
  @override
  public void customize(configurableembeddedservletcontainer configurableembeddedservletcontainer) {
    configurableembeddedservletcontainer.setport(8087);
  }
}

写个controller类:

package com.example;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.restcontroller;
/**
 * created by administrator on 2017/4/24.
 */
@restcontroller
@requestmapping("/")
public class democontroller {
  @requestmapping("/demo")
  private string demo() {
    return "this is spring boot demo!!!";
  }
}

导入不想自己写demo,可以通过 ,在平台自动生成一个demo代码,然后打开项目就好

spring boot部署

添加个spring boot配置服务器

JavaEE微框架Spring Boot深入解读

JavaEE微框架Spring Boot深入解读

访问:

JavaEE微框架Spring Boot深入解读

以上所述是小编给大家介绍的javaee微框架spring boot深入解读,希望对大家有所帮助