第2章 构建springboot工程 2-1 构建SpringBoot第一个demo

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

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>

 

 

 

转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/9842033.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值