zoukankan      html  css  js  c++  java
  • springboot 学习之路 1(简单入门)


    目录:【持续更新。。。。。】

      spring 部分常用注解
      spring boot 学习之路1(简单入门)
      spring boot 学习之路2(注解介绍)
      spring boot 学习之路3( 集成mybatis )
      spring boot 学习之路4(日志输出)
      spring boot 学习之路5(打成war包部署tomcat)
      spring boot 学习之路6(定时任务)
      spring boot 学习之路6(集成durid连接池)
      spring boot 学习之路7(静态页面自动生效问题)
      spring boot 学习之路8 (整合websocket(1))
      spring boot 学习之路9 (项目启动后就执行特定方法)

    在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 @RestController
    12 public class HelloController
    13 {
    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.html
    26         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 已经可以跑起来了。

    banner的修改:

      实现的方式非常简单,我们只需要在Spring Boot工程的/src/main/resources目录下创建一个banner.txt文件,然后将ASCII字符画复制进去,就能替换默认的banner了。比如上图中的输出,就采用了下面的banner.txt内容:

      生成工具

        如果让我们手工的来编辑这些字符画,显然是一件非常困难的差事。所以,我们可以借助下面这些工具,轻松地根据文字或图片来生成用于Banner输出的字符画。

      介绍到这就不演示了,大家自己玩把------------------------------------

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

    快速生成demo

  • 相关阅读:
    [转]Linq使用心得——SelectMany替代二重foreach循环
    设计模式—装饰者模式
    设计模式—桥接模式
    iOS_autoLayout_Masonry
    排序算法
    h.264硬件解码
    FFmpegh.264解码
    AAC编解码
    socket UDP简单通讯
    socket TCP简单通讯
  • 原文地址:https://www.cnblogs.com/huhongy/p/7412468.html
Copyright © 2011-2022 走看看