关于springboot的学习经验

1.什么是spring boot

首先,对于初学者可能会说,spring boot到底是什么?Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

说白了,spring boot就是一些库的集合,方便我们用java构建项目时的启动,并且简化代码,让程序员不用自己去定义大量的模板。那我们要学习这个工具又该怎么入手?

2.快速实例入门

(1)项目结构简介

 

通过观察日志可以发现更多的默认配置

2)   pom.xml文件简介

        此文件引入了三个模块分别是starter、starter-test)、starter-web,如下:

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.9.RELEASE</version>
	</parent>

	<properties>
		<java.version>1.8</java.version>
		<swagger.version>2.7.0</swagger.version>
		<google.guava>23.0</google.guava>
		<commons-lang3>3.7</commons-lang3>
		<fastjson.version>1.2.41</fastjson.version>
		<quartz.version>2.3.0</quartz.version>
		<druid.version>1.1.6</druid.version>
		<poi.version>3.17</poi.version>
	</properties>

	<dependencies>
		<!-- spring boot -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-aop</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-security</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
		</dependency>
		<dependency>

			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>

(3)编写controller类

某项目的controller类的部分代码:

​

package com.myqm.controller.sysfun;


import java.util.List;
import javax.validation.Valid;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull;
import org.apache.poi.ss.usermodel.Workbook;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.myqm.pojo.ResultResponse;
import com.myqm.pojo.base.BaseRecord; 
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.myqm.controller.base.BaseController;
import com.myqm.pojo.PageTableData;
import com.myqm.pojo.sysfun.SysLogs;
import com.myqm.pojo.sysfun.Hello;
import com.myqm.vo.sysfun.HelloQuery;
import com.myqm.service.sysfun.HelloService;


@Api(tags = "Hello")
@RestController
@Validated
@RequestMapping("/api/hello")
public class HelloController extends BaseController {

	@Autowired
	public HelloService helloService;

    @ApiOperation(value="新增记录")
    @PostMapping(value="/add")
    @PreAuthorize("hasAuthority('hello:add')")
    public ResultResponse<String> save(
    	@ApiParam(required = true, value = "添加Hello")
    	@Valid @RequestBody Hello record) { 
        return super.addOperateResult(helloService.save(record), record.getId());
     }
......
​

(4)测试用例的编写

某项目的部分测试用例编写,如下:

package com.myqm.dao.sysfun;

import com.myqm.pojo.sysfun.Dict;
import com.myqm.vo.sysfun.QueryDict;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import static org.junit.Assert.*;
 

@RunWith(SpringJUnit4ClassRunner.class) 
@SpringBootTest  
public class DictDaoTest {
	@Autowired
	DictDao testObject; 
	
	/**
	 * 测试保存
	 */
	@Transactional
	@Test
	public void testSave() {
		Dict t = new Dict();
		t.setK("b");
		t.setVal("b");
		t.setType("2");
		testObject.save(t);
		Dict result = testObject.getById(t.getId());
		assertNotEquals(result,null);
	}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值