01 Intellij IDEA Spring Boot基于Maven的项目环境搭建

Spring Boot基于Maven的项目环境搭建

一、Spring Boot简介

1、简介

SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。

2、特性

(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

(2)内嵌Tomcat或Jetty等Servlet容器;

(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;

(4)尽可能自动配置Spring容器;

(5)提供准备好的特性,如指标、健康检查和外部化配置;

(6)绝对没有代码生成,不需要XML配置。

3、重要策略

Spring Boot两个非常重要的策略开箱即用和约定优于配置

3.1 开箱即用,Outofbox

是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。

3.2 约定优于配置,Convention over configuration

是一种由SpringBoot本身来配置目标结构,由开发者在结构中添加信息的软件设计范式。这一特点虽降低了部分灵活性,增加了BUG定位的复杂性,但减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。

4、SpringBoot应用系统开发模板的基本架构设计从前端到后台进行说明

前端常使用模板引擎,主要有FreeMarker和Thymeleaf,它们都是用Java语言编写的,渲染模板并输出相应文本,使得界面的设计与应用的逻辑分离,同时前端开发还会使用到Bootstrap、AngularJS、JQuery等;在浏览器的数据传输格式上采用Json,非xml,同时提供RESTfulAPI;SpringMVC框架用于数据到达服务器后处理请求;到数据访问层主要有Hibernate、MyBatis、JPA等持久层框架;数据库常用MYSQL;开发工具推荐IntelliJIDEA。

PS:引用百度百科,Spring Boot简介详见官网和百度百科

https://baike.baidu.com/item/Spring%20Boot/20249767?fr=aladdin

二、环境准备

1、Intellij IDEA 15.0.2

2、Maven 3

3、Spring boot 2.1.8

三、创建Spring Boot 项目之Hell

1、打开idea,创建一个maven项目

01 Intellij IDEA Spring Boot基于Maven的项目环境搭建_第1张图片

2、设置Name、Group、 Artifact和package包名称

01 Intellij IDEA Spring Boot基于Maven的项目环境搭建_第2张图片

 

3、选择Spring Boot 版本,勾选Spring Web

01 Intellij IDEA Spring Boot基于Maven的项目环境搭建_第3张图片

4、设置Project name项目名称和Module name模块名称

01 Intellij IDEA Spring Boot基于Maven的项目环境搭建_第4张图片

到这里我们已经把Spring Boot maven项目已经创建完成了,接下来我们开始测试Hello Word

 

5、创建完之后的项目目录结构配置

 

01 Intellij IDEA Spring Boot基于Maven的项目环境搭建_第5张图片

pom.xml配置



	4.0.0
	
		org.springframework.boot
		spring-boot-starter-parent
		2.1.8.RELEASE
		 
	
	com.example.boot
	spring-boot-demo
	0.0.1-SNAPSHOT
	spring-boot-demo
	Demo project for Spring Boot

	
		1.8
	

	
		
			org.springframework.boot
			spring-boot-starter-web
		

		
			org.springframework.boot
			spring-boot-starter-test
			test
		
	

	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	


 

6、Hello Word 代码配置

package com.example.boot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by lidongwen on 2019/9/10.
 */
@RestController
public class HelloWord {

    @ResponseBody
    @RequestMapping("/home")
    String home() {
        return "spring boot so easy!";
    }
}

7、启动Spring Boot

 

01 Intellij IDEA Spring Boot基于Maven的项目环境搭建_第6张图片

8、在浏览器中访问

http://127.0.0.1:8080/home

 

01 Intellij IDEA Spring Boot基于Maven的项目环境搭建_第7张图片

9、下面我们简单介绍下配置信息

默认的配置信息都在application.properties中,如果新建项目没有这个文件可以自己建个application.properties文件放在classpath中,我们可以在配置文件中配置端口、项目环境名等等

 

9.1 配置项目端口

Spring Boot默认启动端口是8080,我们可以改成88,配置如下:

#tomcat port
server.port=88

 

改成上面的配置信息后,我们的访问地址就变成了http://127.0.0.1:88/home

四、Spring简单示例

上面的是项目环境搭建,接下来我们说个简单的示例,以Fruits 水果为例

1、类目录结构

01 Intellij IDEA Spring Boot基于Maven的项目环境搭建_第8张图片

2、FruitsController.java

package com.example.boot.controller;

import com.example.boot.domain.Fruits;
import com.example.boot.service.FruitsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by lidongwen on 2019/9/11.
 */
@RestController
public class FruitsController {

    @Autowired
    private FruitsService fruitsService;

    /**
     * 获取苹果信息
     * @return
     */
    @RequestMapping(name = "/queryFruits")
    public Object queryStudent(){
        Fruits student = fruitsService.queryFruits();
        return student;
    }

}

3、接口 FruitsService.java

package com.example.boot.service;

import com.example.boot.domain.Fruits;

/**
 * Created by lidongwen on 2019/9/11.
 */
public interface FruitsService {
    Fruits queryFruits();

}

4、FruitsServiceImpl.java

package com.example.boot.service.impl;

import com.example.boot.domain.Fruits;
import com.example.boot.service.FruitsService;
import org.springframework.stereotype.Service;

/**
 * Created by lidongwen on 2019/9/11.
 */
@Service("studentService")
public class FruitsServiceImpl implements FruitsService {


    @Override
    public Fruits queryFruits() {

        return new Fruits("1001", "apple", "I'm a red apple.");
    }
}

 5、Fruits.java

package com.example.boot.domain;

/**
 * Created by lidongwen on 2019/9/11.
 */
public class Fruits {

    private String id;
    private String name;
    private String desc;

    public Fruits(String id, String name, String desc) {
        super();
        this.id = id;
        this.name = name;
        this.desc = desc;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}

6、启动Spring Boot项目,在浏览器中访问

01 Intellij IDEA Spring Boot基于Maven的项目环境搭建_第9张图片

 

你可能感兴趣的:(Spring,Boot)