java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
spring 框架作为 JavaEE 框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用。接下来通过本文给大家介绍 JavaEE 微框架 Spring Boot 深入解读, 需要的朋友可以参考下
前言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 项目在
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 项目里
3. 编写程序,项目结构如图写个启动类 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,可以通过 http://start.spring.io/ ,在平台自动生成一个 demo 代码,然后打开项目就好
Spring Boot 部署添加个 Spring Boot 配置服务器
访问:
以上所述是小编给大家介绍的 JavaEE 微框架 Spring Boot 深入解读,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 PHPERZ 网站的支持!
来源: http://www.phperz.com/article/18/0106/357281.html