zoukankan      html  css  js  c++  java
  • SpringBoot专栏(二) -- 搭建第一个SpringBoot项目

    解决问题:

    搭建第一个SpringBoot项目?

    怎样使用Maven进行Jar管理?

    SpringBoot Jar包简述?

    SpringBoot重要注解简述?

     

    注意:使用SpringBoot2.0,JDK的版本必须在1.8以上,不然会出现一些不兼容的问题搭建第一个SpringBoot项目(使用IDEA

    1. 搭建第一个SpringBoot项目(使用IDEA

    1.1 使用IDEA创建一个Maven工程

     

    GroupIdArtifactId两个加起来可以理解为项目的“坐标”,他们保证了项目的唯一性。如果你想把自己的项目打成Jar包放到在本地Maven仓库,就需要使用这两个值。

    GroupId一般是公司名,ArtifactId一般是项目名

    一直Next到结束。

     

    Maven项目就建成功了。

     

    1.2 搭建SpringBoot框架

    1.2.1 在项目Maven的配置文件pom.xml中添加如下依赖。注意一个是parent,一个是在dependencies中。

     

     

    这个依赖是SpringBoot框架的核心依赖包,SpringBoot通过这个依赖包来整合常用的第三方框架(各种依赖信息)。

    这个依赖是SpringBoot Web的核心依赖包,整合了SpringMVC Web

    这里为什么不写版本号?因为在Parent里面已经封装好了版本号。SpringBoot对常用依赖的Jar包信息进行了封装

     

    1.2.2 SpringBoot项目的基本目录结构

     (原目录结构)

     

    (SpringBoot的目录结构

    application.ymlSpringBoot的配置文件,名字是固定的。

     

    1.2.3 SpringBoot项目实现(注解含义放到代码注释中了,请仔细阅读)

    (完整程序目录结构)

     

    Application.java

    package com.mungerz;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    // SpringBootApplication注解:负责启动SpringBoot项目。这个注解实现了扫描包的功能,扫描范围是该文件所在的当前目录和同级目录。
    // 我们需要格外注意这个注解所在文件的位置,因为它和扫包有关系。什么是扫包?就是发现Service,Controller,Component然后自动注入到Spring容器中。
    @SpringBootApplication
    public class Application {
        public static void main(String[] args){
            SpringApplication.run(Application.class, args);
        }
    }

    ApiController.java

    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.Map;
    
    // RestController注解:说明该类是一个Controller,并且参数和返回值都要求符合Restful要求(即Json字符串)
    @RestController
    // RequestMapping注解:Controller的类的映射地址。
    @RequestMapping("/api")
    public class ApiController {
    
        // Autowired自动注入注解:相当于new ApiService,不过这个工作是由Spring容器自己完成的。AutoWired可以注入Controller,Service,Component这几种类。
        @Autowired
        private ApiService apiService;
    
        // RequestMapping注解:方法的映射地址
        @RequestMapping("/info")
        public Map<String, Object> info(Map<String, Object> params){
            return apiService.info(params);
        }
    }

    ApiService.java

    package com.mungerz.service;
    
    import java.util.Map;
    
    // Service层接口
    public interface ApiService {
        Map<String, Object> info(Map<String, Object> params);
    }

    ApiServiceImpl.java

    package com.mungerz.service;
    
    import org.springframework.stereotype.Service;
    
    import java.util.HashMap;
    import java.util.Map;
    
    // Service注解:说明该类是一个Service类,从逻辑上我们可以知道这个类属于Service层,应该写业务逻辑;从功能上,这个类是可以通过Autowired注解注入的。
    @Service
    public class ApiServiceImpl implements ApiService {
        @Override
        public Map<String, Object> info(Map<String, Object> params) {
            Map<String, Object> result = new HashMap<>();
            result.put("result", "hello world");
            return result;
        }
    }

    application.yml

    spring:
      profiles:
        active: dev

    2. 结果验证

    2.1 启动项目

     

    2.2 发送http请求

     

    2.3 返回结果

     

    (转载请标明出处)

     

  • 相关阅读:
    三:redis的数据类型
    二:redis配置
    一:redis安装(Windows)
    Mysql数据库的调优
    JAVA中的设计模式四(装饰模式)
    tomcat启动正常,但是访问项目时,404. Eclipse没有正确部署工程项目
    在eclipse中安装jadclipse的反编译插件
    部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener【转】
    自动生成编号,id,序号,采用不同策略生成
    POI实现Excel导入导出
  • 原文地址:https://www.cnblogs.com/mungerz/p/10397091.html
Copyright © 2011-2022 走看看