1、pom.xml文件

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.0.5.RELEASE

com.demo

spark

0.0.1-SNAPSHOT

spark

Demo project for Spring Boot

1.8

2.11.8

org.springframework.boot

spring-boot-starter-data-jpa

org.springframework.boot

spring-boot-starter-web

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

org.junit.vintage

junit-vintage-engine

org.scala-lang

scala-library

${scala.version}

net.alchim31.maven

scala-maven-plugin

3.2.2

org.apache.maven.plugins

maven-compiler-plugin

3.5.1

org.scala-tools

maven-scala-plugin

compile

testCompile

incremental

${scala.version}

app

com.web.SparkApplication

-deprecation

-Xms256m

-Xmx2048m

org.springframework.boot

spring-boot-maven-plugin

org.apache.maven.plugins

maven-compiler-plugin

compile

compile

org.apache.maven.plugins

maven-shade-plugin

2.4.3

package

shade

*:*

META-INF/*.SF

META-INF/*.DSA

META-INF/*.RSA

dev

dev

true

test

test

prod

prod

View Code

2、启动文件类,包含两个

a)AppConfig.java

packagecom.webimportorg.springframework.boot.autoconfigure.SpringBootApplicationimportorg.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter/***@authoryangwj

* @date 2020/8/7 10:24*/@SpringBootApplication(scanBasePackages= Array("com.web.*"))class AppConfig extendsWebMvcConfigurerAdapter {

}

b)SparkApplication.java

packagecom.webimportorg.springframework.boot.SpringApplication/***@authoryangwj

* @date 2020/8/7 10:25*/object SparkApplicationextendsApp {

SpringApplication.run(classOf[AppConfig])

}

3、domain层,实体对象,Person.java

packagecom.web.domainimportjavax.persistence.{Entity, GeneratedValue, Id, Table}importscala.beans.BeanProperty/***@authoryangwj

* @date 2020/8/7 10:02*/@Entity

@TableclassPerson {

@Id

@GeneratedValue

@BeanProperty

var id:Integer=_

@BeanProperty

var name:String=_

@BeanProperty

var sex:String=_

}

View Code

4、service和serviceImpl层

a) PersonRepository.java

packagecom.web.serviceimportcom.web.domain.Personimportorg.springframework.data.repository.CrudRepository/***@authoryangwj

* @date 2020/8/7 10:06*/trait PersonRepositoryextendsCrudRepository[Person,Integer]{

}

b) PersonServiceImpl.java

packagecom.web.service.implimportcom.web.domain.Personimportcom.web.service.PersonRepositoryimportorg.springframework.beans.factory.annotation.Autowiredimportorg.springframework.stereotype.Serviceimportorg.springframework.transaction.annotation.Transactional/***@authoryangwj

* @date 2020/8/7 10:07*/@ServiceclassPersonServiceImpl @Autowired()(personRepository: PersonRepository) {/*** 保存

*

*@paramperson 保存对象

*@returnPerson*/@Transactional

def save(person: Person): Person={

personRepository.save(person)

}/*** 根据Id查询

*@paramid 查询参数

*@returnPerson*/def selectPersonById(id: Integer): Person={

personRepository.findById(id).get()

}

}

5、controller层:PersonController.java

packagecom.web.controllerimportcom.web.domain.Personimportcom.web.service.impl.PersonServiceImplimportorg.springframework.beans.factory.annotation.Autowiredimportorg.springframework.web.bind.annotation.{GetMapping, PostMapping, RequestBody, RequestMapping, RequestParam, RestController}/***@authoryangwj

* @date 2020/8/7 10:09*/@RestController

@RequestMapping(Array("/v1/person"))classPersonController @Autowired()(personService: PersonServiceImpl) {

@PostMapping

def save(@RequestBody person: Person): Person={

personService.save(person)

}

@GetMapping

def selectPersonById(@RequestParam id: Integer): Person={

personService.selectPersonById(id)

}

}

6、application.yml和application.properties文件

a) application.yml

server:

port:7777spring:

datasource:

driver-class-name: com.mysql.jdbc.Driver #数据库驱动

url: jdbc:mysql://localhost:3306/spark?useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&serverTimezone=GMT%2B8 #本地数据库url,先在本地数据库中建立test这个库

username: root #数据库用户名

password: yang156122 #数据库密码

jpa:

hibernate:

ddl-auto: update #每次运行程序,没有表格会新建表格,表内有数据不会清空,只会更新

database: mysql

b) application.properties

###对象变量出现大写,自动转为_

spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy

7、创建数据库

/*Navicat MySQL Data Transfer

Source Server : 本机

Source Server Version : 50726

Source Host : localhost:3306

Source Database : spark

Target Server Type : MYSQL

Target Server Version : 50726

File Encoding : 65001

Date: 2020-08-07 10:58:25*/SET FOREIGN_KEY_CHECKS=0;-- ----------------------------

-- Table structure forperson-- ----------------------------DROP TABLE IF EXISTS `person`;

CREATE TABLE `person` (

`id`int(11) DEFAULT NULL,

`name` varchar(12) DEFAULT NULL,

`sex` varchar(2) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ----------------------------

--Records of person-- ----------------------------INSERT INTO `person` VALUES ('1', '1', '1');

View Code

如有不懂,可留言

java web scala_Springboot与scala编写第一个web程序相关推荐

  1. JAVA入门级教学之(编写第一个HelloWorld程序)

    目录 1.创建一个HelloWorld.java文件 2.用记事本打开HelloWorld.java 3.接下来我们要完成xxx.java-->xxx.class的步骤 怎么解决javac不可用 ...

  2. Electron -- 编写第一个Eletron程序

    编写第一个eletron程序 1. 安装 npm install --save-dev electron 当你安装完electron后,你会发现你的项目目录下多了一个node_modules文件夹,里 ...

  3. 【(Python解释器、Pycharm)安装教程】【使用PyCharm编写第一个Python程序】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[九天课程]博客笔记汇总表[黑马程序员] 目   录 1.Python 解释器 安装 1.1.手动配置环境变量步骤 2.PyCharm 程序 ...

  4. 二.编写第一个c#程序(注释,命名空间,类,Main方法,标识符,关键字,输入,输出语句,)...

    复习编写一个控制台应用程序,目标是在控制台输出"Hello World" 1.第一步,打开Visual Studio 2012以上版本(我用的是VS 2015),打开完成后出现以下 ...

  5. vs2008编写第一个Windows程序

    vs2008编写第一个Windows程序 我们编写单击MouseClick事件的处理程序,当鼠标单击窗体时,在窗体的标题栏显示"这是我的第一个Windows程序". 1.在窗体设计 ...

  6. mac安装golang,编写第一个go程序

    一:下载pkg包,官网经常打不开,这里从云盘中下载 二:然后安装,一直next,命令行输入go version 或 go env如下说明成功 三:编写第一个go程序,新建hellow.go文件 pac ...

  7. 《教我兄弟学Android逆向01 编写第一个Android程序》

    前言 之所以准备写这一系列逆向的教程是因为有一些同学私信我说自己想学习Android逆向但是不知道怎么去学习 包括自己身边的一些计算机专业的同学 在大学里面老师讲的那些东西要么是自己不感兴趣 要么是自 ...

  8. MiniUI快速入门教程(二)编写第一个MiniUI程序:Hello, world!

    我们开始编写第一个MiniUI程序,代码如下: <!DOCTYPE html /> <html> <head><title> Hello MiniUI! ...

  9. java web scala_spring boot+scala编写web接口

    本人是Java开发者,有面向对象的基础,而Scala也是面向对象的语言,学习后可快速入门.通过学习Scala的面向对象(和java面向对象类似).Scala的高级函数(map,reduce等,和Jav ...

最新文章

  1. Web安全学习笔记——SQL注入
  2. spring boot apollo demo
  3. Python3异常-AttributeError: module 'sys' has no attribute 'setdefaultencoding'
  4. docker-rabbitmq
  5. Linux总结----PS命令
  6. 精译丨美国2017年最值得投资的7大共同基金
  7. 汇总好玩的cmd命令大全
  8. linux下安装mysql
  9. 影视观影神器:ZY Player for Mac使用教程
  10. 如何给Ubuntu系统清理垃圾
  11. 大一新生先学C语言编程还是先学C语言的数据结构和算法?
  12. USB无线网卡和PCI-E无线网卡如何选择?
  13. premiere cs6导出视频格式
  14. 读懂这三个关键词,就明白迅雷链为什么受开发者欢迎
  15. 2018大疆校招软件岗位笔试题目(求有效工作时间)——未在线验证
  16. OpenGL-坐标系统,进入3D世界(深度测试)
  17. csv文件用excel打开乱码
  18. UR机器人编译错误收集
  19. LeetCode 46.全排列
  20. java的多态,多态具体的体现

热门文章

  1. python课程价格-python课程价格
  2. 一张图学会python-一张图学会python
  3. python没基础能自学吗-需要自学python吗?大概多久能学会?
  4. python入门经典代码-Python入门经典
  5. python和c先学哪个-python和c,应该先学哪个?
  6. python语言-python语言的有何特点?
  7. 科大讯飞离线语音识别安装与运行
  8. 解决浏览器中点击input输入框时,placeholder的值不消失的方法
  9. mouseover和mouseenter的区别
  10. 用php写圣诞祝福页面,圣诞祝福文案 抖音圣诞节一句话祝福