上图中我通过标注的形式介绍了几个基本的结构,现在我们介绍几个主要目录:
-
/src/main下面是主要的代码文件和网页模板。
-
Java下是逻辑控制、数据表Model等代码。resource里是静态资源,其中static里是CSS、JS等。template里就是HTML模板啦~
现在开始写第一个Hello World~看下图:
上图中的com.example是一个包名,为了代码可读性高,我们会使用MVC的开发模式,在com.example这个包下面,再新建几个包,分别用来写不同的代码。需要新建的包如下:
-
controller包:用来写控制器代码,控制器对应不同的请求,是网络请求的第一层。
-
model包:里面每个class可以对应一个数据表,当你写好class,并且运行工程时,Springboot和Hibernate会自动为你在数据库里创建表。
-
repository包:这里封装了所有对数据表的增删改查操作。以后你需要操作数据库,其实就是使用这里的接口。
-
service包:比如把登录、注册等一个完整的逻辑,封装为一个service,供controller调用,可以极大地简化开发,同时代码也具有更高的可读性。
下面,让我们来建立这四个包吧~在com.example这个包上右键,然后new一个包出来。如图所示:
我这里创建好包名后,目录结构是这样的:
好了,到这一步,我们终于可以开始写代码啦~~~在本文里,我们将不会用到service、model、repository,只会用到controller来写一个简单的Hello World。让我们开始写吧:
首先,在controller这个包上点击右键,新建一个class,名字就叫nana,如下图所示:
建立好文件后,我们在这个文件里输入以下的代码:【注意,如果没有严格按照前面的教程来,你的包名可能和我的不一样,所以这个代码复制过去后,请自己检查一遍!】
package com.example.controller;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by longge93 on 16/4/14.
*/
@RestController
@EnableAutoConfiguration
public class nana {
@RequestMapping(value="/",method = RequestMethod.GET)
public String index(){
return "Hello World~";
}
}
然后我们来运行以下我们的工程,运行方法如下图所示:
如上图所示,点击那个三角形,就可以运行我们的工程了。不过,所有写代码的过程都是不顺利的~~虽然我们点了运行,但是下面的控制台里却提示我们运行失败了,从上图的下面看出,是hibernate出错了。为什么呢?因为我们在Maven里包含了MySQL的jar包,但是却没有配置数据库连接需要的账号和密码等信息。所以hibernate会报错~~因为我们这篇文章里,只是为了输出hello world,用不着数据库。所以我们先去pom文件里注释掉数据库相关的jar包应该就OK了。我注释完后,我的pom文件是这样的,请仔细检查:
<?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.3.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</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-jdbc</artifactId>--> <!--</dependency>--> <!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-redis</artifactId>--> <!--</dependency>--> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--<dependency>--> <!--<groupId>mysql</groupId>--> <!--<artifactId>mysql-connector-java</artifactId>--> <!--<scope>runtime</scope>--> <!--</dependency>--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
然后我们再点击那个三角形运行,你会发现运行成功啦~~如下图所示:
因为Springboot其实已经自带Tomcat了,所以当我们把这个工程跑起来后,其实就相当于跑起来一个网站。现在让我们去网页里看看我们的Hello World有没有正常工作吧~
在浏览器里,打开http://localhost:8080,你会发现输出了Hello World~~
转载博客:http://blog.poolye.com/