Springboot的第一个Hello World程序

首先大概介绍一个Intellij为我们生成的目录结构:

上图中我通过标注的形式介绍了几个基本的结构,现在我们介绍几个主要目录:

  1. /src/main下面是主要的代码文件和网页模板。

  2. Java下是逻辑控制、数据表Model等代码。resource里是静态资源,其中static里是CSS、JS等。template里就是HTML模板啦~


现在开始写第一个Hello World~看下图:

上图中的com.example是一个包名,为了代码可读性高,我们会使用MVC的开发模式,在com.example这个包下面,再新建几个包,分别用来写不同的代码。需要新建的包如下:

  1. controller包:用来写控制器代码,控制器对应不同的请求,是网络请求的第一层。

  2. model包:里面每个class可以对应一个数据表,当你写好class,并且运行工程时,Springboot和Hibernate会自动为你在数据库里创建表。

  3. repository包:这里封装了所有对数据表的增删改查操作。以后你需要操作数据库,其实就是使用这里的接口。

  4. 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/



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章