最近闲来无事,因为项目组没有那么多活,想学点新的技术。
刚好有在学校的朋友推荐我看看spring boot ,那就开始看看spring boot。
一. 首先谈谈我对spring boot 的认知:
String boot 作为一款spring家族的框架,是一个新的中小型项目的宠儿。是一个基于spring的轻量级框架。它继承了tomcat、mysql、hibernate等工具,在启动时很无脑,在controller里写一个main方法启动即可。下来在数据层可以很无脑的使用hibernate的框架去实现。并不用什么数据。讲真还是蛮吊的,反正就是说,实现了代码的大大减少。
二. 下来说下实现吧:
1.首先使用这个玩意,推荐使用jdk版本是1.8,不过我这里用的是1.7目前也没什么问题。下来的话,这个项目是基于maven管理的,需要一些maven依赖,很无脑。
这是从官方生成的项目的pom文件 底下mysql的那个是我自己加的,因为我在使用的时候,报找不到com.jdbc.mysql.Driver 驱动,于是我就自己加入了这个包。
同样的,在这里我也附上关于Spring boot 快速开始的地址 http://projects.spring.io/spring-boot/#quick-start 这是一个官方的地址。
<?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.meizu.example</groupId>
<artifactId>SpringBoot_Demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>SpringBoot_Demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.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.7</java.version>
</properties>
<dependencies>
<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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<!--自行加入 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
其实在生成这个项目以后,基本就成功一大半了。呵呵,就是这么简单。。。。
2.下来就要看看如何启动
在从官网快速开始的项目里,会有这样的一个controller
package com.meizu.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class SpringBootDemoApplication {
@RequestMapping("/")
String home() {
return "Hello World123!";
}
@RequestMapping("/a")
String homea() {
return "this is a !";
}
public static void main(String[] args) {
SpringApplication.run(SpringBootDemoApplication.class, args);
}
}
重点是这个@SpringBootApplication。这个注解有什么作用呢?
a. 提供静态方法,用于开发独立运行的应用
b.嵌入容器配置,tomcat或者jetty
c.外部配置支持,从命令行,属性文件读取配置
d.spring context 的初始化
其实这个文件是默认有的,你想添加什么内容自行添加即可。
这时候你运行这个main方法即可。。。这时候就相当于你启动了tomcat容器(默认tomcat,jetty的我还没研究,过会就去看看)。
这时候访问以下:
好的,那么到这。最基本的搭建就完成了,是不是so easy。。。。。数数一共写了几行代码?配了多少东西?
哦,好像一行代码都没有写,快速导入生成的项目,然后导入就启动了。。。。