分分时时彩大小_借助Maven入手Spring Boot第一个程序

  • 时间:
  • 浏览:1
  • 来源:彭先生博客 - 专注共享叶洛洛博客资讯

    目前网上有不少Spring Boot的入门文章,都很有帮助,每每人个最近在深入学习Spring Cloud,在搭建第有有兩个 Hello World任务管理器时,感觉对于新手而言,介绍文章为什么会完整还会 为过,机会其中坑不少,有些有些这里就把第一次实践的步骤贴出来,以求和他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 共同进步。 

1 Maven是哪些?能带来哪些帮助?

    他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 在用Eclipse开发项目时,还会 引入支持特定功能的jar包,比如从下图里,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 能都看你這個项目都要引入支持mysql的jar包。

 

    从上图里他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 能都看,支持mysql的jar包是装入 本地路径里,这麼 机会在本地运行自然是没问题了。但机会他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 要把你這個项目发布到服务器上,就会有问题了,机会在你這個项目的.classpath文件,机会指定mysql的jar包在本地d盘下的某个路径,如下图所示。 

    一旦发布到服务器上,项目依然会根据.classpath的配置,从d盘下你這個路径去找,事实上服务器上是不机会有这麼 的路径和jar包的。

    他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 也还这麼 多 通过在.classpath里指定相对路径来解决你這個问题,在下面的代码里,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 还这麼 多 指定本项目将引入“本项目路径/WebRoot/lib“目录里的jar包。

            <classpathentry kind="lib" path="WebRoot/lib/jar包名.jar"/>

    这麼 做,发布到服务器时,机会会把整个项目路径里的文件都上传,有些有些这麼 多出错。但这麼 依然会给他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 带来不便。比如你這個服务器上他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 部署了兩个 项目,它们还会 用到你這個mysql支持包,这麼 他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 就不得不把你這個jar包上传5次,再扩展一下,机会兩个 项目里会用到20个相同的jar包,这麼 他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 还真就不得不做多次群克隆。机会他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 要升级其中的有有兩个 jar包,这麼 还真就得做有些有些重复的群克隆粘贴动作。

    期望中的工作模式应该是,应该有个“仓库“同一放置所有的jar包,在开发项目时,还这麼 多 通过配置文件引入必要的包,而还会 把包群克隆到本项目里。这有些有些Maven的做法。

    用通俗得话来讲,Maven是套Eclipse的插件,它的核心价值是能理顺项目间的依赖关系,具体来讲,能通过其中的pom.xml配置文件来统一管理本项目所要用到的jar包,在项目里引入Maven插件后,开发者就无须手动加进去去jar包了,这麼 这麼 多 解决但会 来带来的一系列问题。

2 通过Maven开发Spring Boot的HelloWorld任务管理器

    第一步,创建Maven项目。本书使用MyEclipse作为开发环境,在其中机会引入了Maven插件,有些有些他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 还这麼 多 通过“File”->”New”菜单,如下图所示,直接创建Maven项目。

    在上图里,点击“Next”按钮后,会见到如下图所示的界面,在其中他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 还这麼 多 设置Group Id等属性。

    

    其中,Group Id代表公司名,这里设置成“com.springBoot”,而Artifact Id则是项目名,Version和Packag采用默认值。完成设置后,能都看新建的项目MyFirstSpringBoot

     第二步,改写pom.xml。他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 创建好Maven项目后,能都看pom.xml文件。在Maven项目里,一般是通过pom.xml来指定本项目的基本信息以及都要引入的jar包,这里的关键代码如下。   

1   <groupId>com.springboot</groupId>
2      <artifactId>MyFirstSpringBoot</artifactId>
3      <version>0.0.1-SNAPSHOT</version>
4      <packaging>jar</packaging>
5      <name>MyFirstSpringBoot</name>
6      <url>http://maven.apache.org</url>
7      <dependencies>
8       <dependency>
9                <groupId>org.springframework.boot</groupId>
10                <artifactId>spring-boot-starter-web</artifactId>
11                <version>1.5.4.RELEASE</version>
12        </dependency>
13        <dependency>
14          <groupId>junit</groupId>
15          <artifactId>junit</artifactId>
16          <version>3.8.1</version>
17          <scope>test</scope>
18        </dependency>
19      </dependencies>

    其中,第1到第4行的代码是自动生成的,用来指定本项目的基本信息,这和他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 在前一天创建Maven项目时所填的信息是一致的。

    从第7到第19行的dependencies属性里,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 还这麼 多 指定本项目所用到的jar包,这里在第8和第13行分别通过有有兩个 dependency来指定该引入两类jar包。其中从第8到12行,指定了都要引入用以开发Spring Boot项目的名为spring-boot-starter-web的jar的集合,而在第13到18行,指定了都要引入用以单元测试的junit包。

    从中上述代码里,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 能见到通过Maven管理项目依赖文件的一般办法,比如在下面的代码片段里,是通过第2到第4行的代码,说明都要引入org.springframework.boot你這個公司组织(发布Spring Boot jar包的组织)发布的名为spring-boot-starter-web的一套支持Spring Boot的jar包,但会 通过第4行指定了引入包的版本号是1.5.4.RELEASE。

    这麼 一来,在本项目里,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 就这麼 多在本地在手动地加进去去jar包,哪些包事实上是在远端的仓库里,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 你這個项目是通过pom.xml的配置,来指定都要引入哪些包。

     第三步,改写App.java。

    在创建Maven项目时,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 指定的package是com.springboot.MyFirstSpringBoot,在其中会有个App.java,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 把你這個文件改写成如下的样式。    

1    package com.springboot.MyFirstSpringBoot;
2    import org.springframework.boot.SpringApplication;
3    import org.springframework.boot.autoconfigure.SpringBootApplication;
4    import org.springframework.web.bind.annotation.RequestMapping;
5    import org.springframework.web.bind.annotation.RestController;
6    
7    @RestController
8    @SpringBootApplication
9    public class App {
10        @RequestMapping("/HelloWorld")
11        public String sayHello() {
12            return "Hello World!";
13        }
14        public static void main(String[] args) {
15            SpringApplication.run(App.class, args);
16        }
17    }    

    机会是第一次使用Maven,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 在这里再强调一次,我其实他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 这麼 在项目里手动地引入jar,但机会在pom.xml里指定了待引入的依赖包,具体而言都要依赖org.springframework.boot组织所提供的spring-boot-starter-web,有些有些在代码的第2到第5行里,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 还这麼 多 通过import得话,使用spring-boot-starter-web(也有些有些Spring Boot)的类库。

    在第8行里,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 引入了@SpringBootApplication注解,以此声明该类是个Spring Boot的应用。在第10到第13行里,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 通过@RequestMapping,指定了用于解决/HelloWorld请求的sayHello办法,在第14行的main函数里,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 通过第15行的代码启动了Web服务。

至此他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 完成了代码编写工作。启动MyFirstSpringBoot项目里的App.java,在浏览器里输入http://localhost:30003000/HelloWorld。机会/HelloWorld请求能被第11到13行的sayHello办法的@RequestMapping对应上,有些有些会通过sayHello办法输出Hello World!的内容,如下图所示。

    

    从你這個任务管理器里他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 能体会到开发Spring Boot和传统Spring任务管理器的不同。

    第一,在前一天的Spring MVC框架里,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 不得找不到web.xml定义采用Spring的监听器,但会 为了采用@Controller控制器类,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 还得加进去去一大堆配置,但在Spring Boot里,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 只都要加进去去有有兩个 @SpringBootApplication注解。

    第二,他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 往往都要把传统的Spring MVC项目发布到诸如Tomcat的Web服务器上,启动Web服务器后他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 这麼 多 在浏览器里输入请求查看运行的效果,这里他们歌词 歌词 他们歌词 歌词 他们歌词 歌词 只需启动App.java你這個类即可达到累似 的效果,就还这麼 多 省去部署到Web服务器上的步骤。

3 最后是寻求帮助

    每每人个在写完java web轻量级开发面试教程后,再想写一本Spring Cloud方面的书,请各位大神不知道该写哪些方面的内容,机会是提些建议,谢谢了。