spring boot 学习之路1(简单入门)

来源:互联网 发布:mac系统删除照片 编辑:程序博客网 时间:2024/06/16 15:21
在spring boot 自学过程中遇到的问题,学习的弯路都会记录下来,仅供大家参考

  spring Boot(我理解就是springMVC的一个替代品,封装的更狠的一个框架)是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring进行入门体验,让Java开发也能够实现Ruby on Rails那样的生产效率。为Spring生态系统提供了一种固定的、约定优于配置风格的框架。

  那么spring boot 的特点有哪些呢  

  • 为基于Spring的开发提供更快的入门体验
  • 开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值来满足特定的需求。
  • 提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。
  • Spring Boot并不是不对Spring功能上的增强,而是提供了一种快速使用Spring的方式。

 

下面我们来学习spring boot 环境的配置,顺便来开发第一个spring boot 的hello world

  我是通过maven来构建的(Gradle也可以,但是我不会)

    首先创建一个一般的Maven项目,我是通过idea的开发工具来开发的,工具随意。

    

<?xml version="1.0" encoding="UTF-8"?><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/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>com.example</groupId>    <artifactId>demo</artifactId>    <version>0.0.1-SNAPSHOT</version>    <packaging>jar</packaging>    <name>demo</name>    <description>Demo project for Spring Boot</description>    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>1.5.4.RELEASE</version>        <relativePath/> <!-- lookup parent from repository -->    </parent>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>        <java.version>1.8</java.version>    </properties>    <dependencies>        <!--spring-boot-starter:核心模块,包括自动配置支持、日志和YAML            spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito        -->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-test</artifactId>            <scope>test</scope>        </dependency>        <!--引入Web模块,需添加spring-boot-starter-web模块:-->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>        <!-- 添加热启动配置(方便在开发调试时修改代码后自动重新启动) -->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-devtools</artifactId>            <optional>true</optional>        </dependency>    </dependencies>    <build>        <plugins>            <plugin>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>                <!-- 添加热启动配置(方便在开发调试时修改代码后自动重新启动) -->                <configuration>                    <fork>true</fork>                </configuration>            </plugin>        </plugins>    </build></project>

 

 

首先是增加了<parent>

增加父pom比较简单,而且spring-boot-starter-parent包含了大量配置好的依赖管理,在自己项目添加这些依赖的时候不需要写<version>版本号。

使用父pom虽然简单,但是有些情况我们已经有父pom,不能直接增加<parent>时,可以通过如下方式:

 1 <dependencyManagement> 2      <dependencies> 3         <dependency> 4             <!-- Import dependency management from Spring Boot --> 5             <groupId>org.springframework.boot</groupId> 6             <artifactId>spring-boot-dependencies</artifactId> 7             <version>1.2.3.RELEASE</version> 8             <type>pom</type> 9             <scope>import</scope>10         </dependency>11     </dependencies>12 </dependencyManagement>

     在pom.xml中我已经把热部署插件也添加上了,这个就不详细介绍了。不理解可以百度一下,

  添加以后,通过mvn spring-boot:run启动就支持热部署了。

配置到这就配置的差不多了下面就是看看程序怎么运行,先创建一个启动类,放在根目录下(不然会报错的)

 

我创建的启动类是:

  

 1 package com; 2  3 import org.mybatis.spring.annotation.MapperScan; 4 import org.springframework.boot.SpringApplication; 5 import org.springframework.boot.autoconfigure.SpringBootApplication; 6  7 @SpringBootApplication 8 @MapperScan("com.huhy.web.mapper") 9 public class DemoApplication {10 11     public static void main(String[] args) {12         SpringApplication.run(DemoApplication.class,args);13     }14 }

controller  随意写诶,注意那几个注解就行

    

 1 package com.huhy.web.controller; 2  3 import com.huhy.web.entity.User; 4 import org.springframework.ui.ModelMap; 5 import org.springframework.web.bind.annotation.RequestMapping; 6 import org.springframework.web.bind.annotation.RestController; 7  8 /** 9  * Created by hhy_0 on 2017/7/7.10  */11 @RestController12 public class HelloController13 {14     @RequestMapping("/hello")15     public String index(){16 17         return "Hello World";18     }19 20     @RequestMapping("/")21     public String index(ModelMap map) {22         // 加入一个属性,用来在模板中读取23         map.addAttribute("host", "http://blog.didispace.com");24 25         // return模板文件的名称,对应src/main/resources/templates/index.html26         return "index";27     }28     @RequestMapping("/getUser")29     public User getUser() {30         User user = new User();31         user.setId("12");32         user.setName("hhy");33         user.setAge(21);34         return user;35     }36 37 }

 

运行启动类就会看到启动信息

我的是这样的

 

 

 最后几行有端口号,然后打浏览器访问就行了

到这,简单的spring boot 已经可以跑起来了。

 spring boot 学习之路2(注解介绍)

 

原创粉丝点击