博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

springboot(一)

Posted on 2017-12-19 23:22  sunshine_blog  阅读(208)  评论(0编辑  收藏  举报

 

1,使用springboot开发需要以下配置:

  : Maven | Gradle | Ant | Starters

code工具:IDE | Packaged | Maven | Gradle

系统要求:java8

springboot内置包含以下几个版本的web容器: Tomcat 8.5 3.1  Jetty 9.4 3.1   Undertow 1.3 3.1 

2,在开始项目前在cmd里面输入以下两个命令(如果你妹有把maven的路径加紧环境变量,那么你就要在安装目录下打开用shift+鼠标右键):

$ java -version

java version "1.8.0_102" Java(TM) SE Runtime Environment (build 1.8.0_102-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

$ mvn -v

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00) Maven home: /usr/local/Cellar/maven/3.3.9/libexec Java version: 1.8.0_102, vendor: Oracle Corporation

3,首先在pom文件大开头我们需要做以下事情:

 1)在parent节点添加:spring-boot-starter-parent。他的作用是提供默认的maven

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
</parent>
 2)指定web应用:spring-boot-starter-web

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
  3)下面我们来解读以下最简单例子

 

  (1),@RestController 和 @RequestMapping 注解

        @RestController :这个注解告诉人们这个是程序的开始,@Controller这个注解告诉我们这是个web

  @RequestMapping:这个注解提供路由信息,http请求的时候 /path会自动映射到他注解的类及方法上,同时@RestController能够直接把结果串返回给请求方

    @EnableAutoConfiguration:告诉springboot你要的配置,他会根据你在pom中添加的jar依赖

  (2),main方法是一个应用的入口,他代表着SpringApplication,他通过执行run. SpringApplication来启动springboot项目。

    args数组是接受命令行输入的参数

4,把项目打包成jar包

  1)添加插件依赖

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

  2)然后在你文件目录下,也就是pom统计目录下,打开cmd,然后输入 mvn clean package

           结束后在target文件夹下可以看到你打的jar包。

  5,一些常用的spring-boot- starter

    spring-boot-starter   核心starter,包含自动注入,日志,YAML

    spring-boot-starter-activemq  消息队列,使用 Apache ActiveMQ

    spring-boot-starter-amqp   使用Rabbit MQ(推荐)

    spring-boot-starter-aop  使用aop切面,在做接口日志,接口验证的时候常用

    spring-boot-starterdata-redis 使用redis

    spring-boot-starter-thymeleaf  使用thymeleaf做web页面

    spring-boot-starter-validation  使用validatior可以做字段的检测,判断非空,对数据质量提升有很大的帮助,可以和aop结合使用

    spring-boot-starter-web 创建web项目,包含restfull

6,springboot项目结构

    1)启动类应该放在根目录,并且最好是在其他类的上一级。@EnableAutoConfiguration这个注解经常放在主类main的上面。这样做的目的是因为springhboot启动的机制。在springboot启动的时候,会根据启动类所在的文件夹的地方,自动扫描所在文件夹及其子文件。即启动类上一级的文件是扫描不到的。

    2)这个是目录结构

Application.java是启动类。@Configuration @EnableAutoConfiguration @ComponentScan这仨个注解经常会加在启动类

@Import:这个注解能够导入额外的配置classes

@ComponentScan:能够自动扫描所有spring元素,包含@Configuration注解的类

7,spring beans和依赖注入(Dependency Injection)

@ComponentScan我们能够使用这个类去找到bean

@Autowired这个能够轻松的注入

 

    

 希望大家能够指出错误!