以后的趋势肯定是以一个微服务为主导的,

Spring-Boot的指导

Maven整个环境构建之前的整个项目其实是一个很普通的J2SE项目,它构建完之后会进行重构,重构为Maven的一个项目路径。可以看到Maven项目基础的结构就是这样子。

我们可以先看一下/imooc-springboot-starter/pom.xml,pom报错了

 安装STS插件(springsource-tool-suite-3.9.6.RELEASE-e4.9.0-updatesite)之后再说吧

Cannot complete the install because one or more required items could not be found.
Software being installed: Spring IDE Web Flow Extension (optional) 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.webflow.feature.feature.group 3.9.6.201809180658-RELEASE)
Missing requirement: Spring IDE Live Beans Graph 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.beans.ui.livegraph 3.9.6.201809180658-RELEASE) requires 'bundle org.eclipse.zest.core [1.0.0,2.0.0)' but it could not be found
Cannot satisfy dependency:
From: Spring IDE Core (required) 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.feature.feature.group 3.9.6.201809180658-RELEASE)
To: org.springframework.ide.eclipse.beans.ui.livegraph [3.9.6.201809180658-RELEASE]
Cannot satisfy dependency:
From: Spring IDE Web Flow Extension (optional) 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.webflow.feature.feature.group 3.9.6.201809180658-RELEASE)
To: org.springframework.ide.eclipse.feature.feature.group 0.0.0
Cannot complete the install because one or more required items could not be found.
Software being installed: Spring IDE Web Flow Extension (optional) 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.webflow.feature.feature.group 3.9.6.201809180658-RELEASE)
Missing requirement: Spring IDE Live Beans Graph 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.beans.ui.livegraph 3.9.6.201809180658-RELEASE) requires 'bundle org.eclipse.zest.core [1.0.0,2.0.0)' but it could not be found
Cannot satisfy dependency:
From: Spring IDE Core (required) 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.feature.feature.group 3.9.6.201809180658-RELEASE)
To: org.springframework.ide.eclipse.beans.ui.livegraph [3.9.6.201809180658-RELEASE]
Cannot satisfy dependency:
From: Spring IDE Web Flow Extension (optional) 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.webflow.feature.feature.group 3.9.6.201809180658-RELEASE)
To: org.springframework.ide.eclipse.feature.feature.group 0.0.0

安装GEF插件GEF-Update-3.9.1

删了springsource-tool-suite-3.9.6.RELEASE-e4.9.0-updatesite重新装一遍,看来还有依赖没有安装

Cannot complete the install because one or more required items could not be found.
Software being installed: Spring IDE Web Flow Extension (optional) 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.webflow.feature.feature.group 3.9.6.201809180658-RELEASE)
Missing requirement: Spring IDE Live Beans Graph 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.beans.ui.livegraph 3.9.6.201809180658-RELEASE) requires 'bundle org.json 0.0.0' but it could not be found
Cannot satisfy dependency:
From: Spring IDE Core (required) 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.feature.feature.group 3.9.6.201809180658-RELEASE)
To: org.springframework.ide.eclipse.beans.ui.livegraph [3.9.6.201809180658-RELEASE]
Cannot satisfy dependency:
From: Spring IDE Web Flow Extension (optional) 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.webflow.feature.feature.group 3.9.6.201809180658-RELEASE)
To: org.springframework.ide.eclipse.feature.feature.group 0.0.0

拷贝json-20180813.jar到C:\Users\ZHONGZHENHUA\Desktop\eclipse-jee-kepler-SR2-win32-x86_64\eclipse\plugins目录下,问题就解决了。但是重启eclipse安装sst又报了另外一个错

Cannot complete the install because one or more required items could not be found.
Software being installed: Spring IDE Web Flow Extension (optional) 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.webflow.feature.feature.group 3.9.6.201809180658-RELEASE)
Missing requirement: Boot UI Support 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.boot.wizard 3.9.6.201809180658-RELEASE) requires 'bundle javax.ws.rs 2.0.1' but it could not be found
Cannot satisfy dependency:
From: Spring IDE Buildship Integration 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.buildship 3.9.6.201809180658-RELEASE)
To: bundle org.springframework.ide.eclipse.boot.wizard 0.0.0
Cannot satisfy dependency:
From: Spring IDE Core (required) 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.feature.feature.group 3.9.6.201809180658-RELEASE)
To: org.springframework.ide.eclipse.buildship [3.9.6.201809180658-RELEASE]
Cannot satisfy dependency:
From: Spring IDE Web Flow Extension (optional) 3.9.6.201809180658-RELEASE (org.springframework.ide.eclipse.webflow.feature.feature.group 3.9.6.201809180658-RELEASE)
To: org.springframework.ide.eclipse.feature.feature.group 0.0.0

坑爹的换了最新的eclipse-jee-2018-09-win32-x86_64之后就行了

STS安装成功了。

我们继续看一下/imooc-springboot-starter/pom.xml,

    <groupId>com.imooc</groupId>
<artifactId>imooc-springboot-starter</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

groupId、项目名、版本。packaging直接使用jar,因为我们可以直接使用它内部的一个tomcat即可。

<name>imooc-springboot-starter</name>
<description>Demo project for Spring Boot</description>

这是项目描述,不用管

    <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

我们只需要引入spring-boot-starter-parent这一个,就可以把相关所有的jar包全部都可以引进来。这个包里面已经把相关的Spring所有的一些包全部都引入进来,并且它已经配好了相关的配置文件。

    <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

java版本号也是1.8

点击项目工程imooc-springboot-starter右键Maven->Update Project,重新的clean,这个时候它的版本就是1.8。

    <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

Maven的一个插件

删掉无用的/imooc-springboot-starter/src/test/java/com/imooc/imoocspringbootstarter/ImoocSpringbootStarterApplicationTests.java、/imooc-springboot-starter/mvnw、/imooc-springboot-starter/mvnw.cmd

 整个项目是通过/imooc-springboot-starter/src/main/java/com/imooc/imoocspringbootstarter/ImoocSpringbootStarterApplication.java去运行的。

 SpringBootApplication代表我们整个应用程序,它的主类就是ImoocSpringbootStarterApplication。运行它就是代表我们整个项目启动了。

修改包名com.imooc.imoocspringbootstarter为com.imooc,把ImoocSpringbootStarterApplication作为顶类,也就是置顶的一个类。因为SpringBoot它有一个默认的配置,它所有的类都必须在com.imooc以下,比如com.imooc.controller、com.imooc.pojo、com.imooc.entity、com.imooc.service、com.imooc.mapper,只有在这种情况下它才会去取得它相应的注解。

修改启动类ImoocSpringbootStarterApplication为ImoocApplication,没有必要改的太长。

yml和properties其实用法是一模一样的,它只不过是以一个树形结构去展示。properties是全部展开的。我们这里是以properties为主。

右击/imooc-springboot-starter/src/main/java/com/imooc/ImoocApplication.java Run As Spring Boot App运行整个项目,

/imooc-springboot-starter/src/main/java/com/imooc/ImoocApplication.java相当于是一个J2SE的程序。

@RestController 它会以一个所有是字符串的形式去访问数据。使用这个web环境我们还是需要在pom里面引入一些额外的组件,我们必须要引入这个web组件。

        <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

/imooc-springboot-starter/src/main/java/com/imooc/controller/HelloController.java

package com.imooc.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class HelloController { @RequestMapping("/hello")
public Object hello() { return "hello springboot~~"; }
}

/imooc-springboot-starter/src/main/java/com/imooc/ImoocApplication.java

package com.imooc;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class ImoocApplication { public static void main(String[] args) {
SpringApplication.run(ImoocApplication.class, args);
}
}

我们这个controller已经成功了。这个写法简化了很多SpirngMVC的配置,我们可以省略了SpringMVC.xml。

pom.xml

<?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.imooc</groupId>
<artifactId>imooc-springboot-starter</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>imooc-springboot-starter</name>
<description>Demo project for Spring Boot</description> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.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.8</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-web</artifactId>
</dependency> </dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>

 

第2章 构建springboot工程 2-1 构建SpringBoot第一个demo的更多相关文章

  1. 构建SpringBoot第一个Demo

    使用官方地址生成项目 https://start.spring.io  Generate:可以选择Maven或者Gradle构建项目 语言:我想一般都是Java 接下来选择SpringBoot的版本, ...

  2. Spring Boot2 系列教程 (二) | 第一个 SpringBoot 工程详解

    微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 哎呦喂,按照以往的惯例今天周六我的安排应该是待在家学学猫叫啥的.但是今年这种日子就可能一去不复返了,没法办法啊.前 ...

  3. 第2章 构建springboot工程 2-2 使用Spring官方STS搭建SpringBoot工程

    项目名demo,SpringBoot的版本2.0.6 删了/demo/mvnw和/demo/mvnw.cmd.static文件夹包含静态文件,比如CSS.JS.templates文件夹是放模板的,Sp ...

  4. (转) SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程

    简介 spring boot 它的设计目的就是为例简化开发,开启了各种自动装配,你不想写各种配置文件,引入相关的依赖就能迅速搭建起一个web工程.它采用的是建立生产就绪的应用程序观点,优先于配置的惯例 ...

  5. 01构建第一个SpringBoot工程

    第一篇:构建第一个SpringBoot工程 文章指导 学习笔记 学习代码 创建项目 创建工程:Idea-> new Project ->Spring Initializr ->填写g ...

  6. SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程

    转载请标明出处: https://www.fangzhipeng.com/springboot/2017/07/11/springboot1 本文出自方志朋的博客 简介 spring boot 它的设 ...

  7. (二十三)IDEA 构建一个springboot工程,以及可能遇到的问题

    一.下载安装intellij IEDA 需要破解 二.创建springboot工程 其他步骤省略,创建好的工程结构如下图: 三.配置springoboot工程 3.1 如上图src/main目录下只有 ...

  8. SpringBoot工程热部署

    SpringBoot工程热部署 1.在pom文件中添加热部署依赖 <!-- 热部署配置 --> <dependency> <groupId>org.springfr ...

  9. springboot系列(二) 创建springboot工程

    本文转载自:https://www.cnblogs.com/magicalSam/p/7171716.html 简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新 ...

  10. 使用 IDEA 配合 Dockerfile 部署 SpringBoot 工程

    准备 SpringBoot 工程 新建 SpringBoot 项目,默认的端口是 8080 ,新建 Controller 和 Mapping @RestController public class ...

随机推荐

  1. Hbase 使用方法

    列出所有 table¶ hbase(main):> list 新增 table¶ A . 直接增加一個表 t2 hbase(main):> create 't2' B . 增加一個擁有 ' ...

  2. 弹框内画echarts图dom元素无法获取的问题

    弹框内画echarts图dom元素无法获取的问题? 什么意思呢?就是当我们打开弹框之后,此时要画eachars图,可是echarts图的容器dom此时为null, 因此我们需要做的就是在dom元素获取 ...

  3. luogu 3375 KMP模板题

    #include<bits/stdc++.h> using namespace std; ,M = ; int next[N]; void getNext(char s[]) //找nex ...

  4. New Concept English three (57)

    28w/m 54errors I stopped to let the car cool off and to study the map. I had expected to be near my ...

  5. 2017-2018-1 20179215《Linux内核原理与分析》第十二周作业

    Sql注入基础原理介绍 分组:和20179205王雅哲共同完成实验 一.实验说明 1.1 sql注入  SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组 ...

  6. Shiro-RememberMe

    概述 认证和记住我 建议 身份验证相关 实现 如果要自己做RememeberMe,需要在登录之前创建Token:UsernamePasswordToken(用户名,密码,是否记住我),且调用 User ...

  7. C#进阶之路(一):委托

    一.什么是委托 简单说它就是一个能把方法当参数传递的对象,而且还知道怎么调用这个方法,同时也是粒度更小的“接口”(约束了指向方法的签名). 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方 ...

  8. js 科学计数转数字或字符串

  9. linux下查找命令两则

    由于本人不会阅读man手册,因此需要几下两个常用的查找命令: (1)在某个目录及其子目录查找某个文件并打印完整路径: find ./ -name "assertions.h" -e ...

  10. java编程思想第八章多态

    前言: 封装:通过合并特征和行为创建新的数据类型. 实现隐藏:通过将细节“私有化”,把接口和实现分离. 多态:消除类型间的耦合关系.也称作动态绑定,后期绑定或运行时绑定. 8.1再论向上转型: 对象既 ...