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这个能够轻松的注入
希望大家能够指出错误!