Springboot的第一个Hello World程序

来源:互联网 发布:郑州经开区网络维修 编辑:程序博客网 时间:2024/04/30 05:39

之前的一篇博文介绍了如何配置环境,本文将介绍如何使用Intellij开发第一个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@EnableAutoConfigurationpublic 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~~


后语:程序员的成长之路就是一条不怕麻烦,披荆斩棘,不停的解决问题的过程。如果你真的喜欢这一行,请奉献出你的热情。


    0 0
    原创粉丝点击
    热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝买家号封了怎么办 拼多多商家盗图怎么办 被拼多多盗图了怎么办 淘宝盗用图片被投诉怎么办 淘宝别人盗用我的图片怎么办 淘宝盗图申诉原图过大怎么办 淘宝别人举报我盗用图片怎么办 淘宝卖家被投诉盗图怎么办 淘宝卖家被投诉卖假货怎么办 淘宝买到假货卖家不承认怎么办 被投诉盗图扣2分怎么办 拼多多盗淘宝图怎么办 微信视频清理了怎么办 牛仔短裤买大了怎么办 淘宝图片打开变大了怎么办 同城换公司社保怎么办 劳务不给交社保怎么办 好多工厂外包工不交社保怎么办 外包公司没有交社保怎么办 外包公司不给交社保怎么办 银行取100万现金怎么办 给老外发警告信后怎么办 照片上传是歪的怎么办 日亚不能直邮的怎么办 电话信息被卖了怎么办 被亚马逊跟卖了怎么办 玉米出芽后土壤不够湿怎么办 雨伞请输入授权码怎么办 网页放手机端后看不了怎么办 微信收款码存在违法行为怎么办 tst优惠码密码忘了怎么办 扩展器登录不上怎么办 微信学法小程序积分不更新怎么办 开发商不给办房产证怎么办 传淘宝产品规格不匹配怎么办 刚买的手机想退怎么办 空调主机空间不足不散热怎么办 lol网速快延迟高怎么办 4g手机延迟高怎么办 天气冷鼻炎就犯怎么办 天气冷宝宝发烧了怎么办