java web scala_Springboot与scala编写第一个web程序
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程序相关推荐
- JAVA入门级教学之(编写第一个HelloWorld程序)
目录 1.创建一个HelloWorld.java文件 2.用记事本打开HelloWorld.java 3.接下来我们要完成xxx.java-->xxx.class的步骤 怎么解决javac不可用 ...
- Electron -- 编写第一个Eletron程序
编写第一个eletron程序 1. 安装 npm install --save-dev electron 当你安装完electron后,你会发现你的项目目录下多了一个node_modules文件夹,里 ...
- 【(Python解释器、Pycharm)安装教程】【使用PyCharm编写第一个Python程序】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[九天课程]博客笔记汇总表[黑马程序员] 目 录 1.Python 解释器 安装 1.1.手动配置环境变量步骤 2.PyCharm 程序 ...
- 二.编写第一个c#程序(注释,命名空间,类,Main方法,标识符,关键字,输入,输出语句,)...
复习编写一个控制台应用程序,目标是在控制台输出"Hello World" 1.第一步,打开Visual Studio 2012以上版本(我用的是VS 2015),打开完成后出现以下 ...
- vs2008编写第一个Windows程序
vs2008编写第一个Windows程序 我们编写单击MouseClick事件的处理程序,当鼠标单击窗体时,在窗体的标题栏显示"这是我的第一个Windows程序". 1.在窗体设计 ...
- mac安装golang,编写第一个go程序
一:下载pkg包,官网经常打不开,这里从云盘中下载 二:然后安装,一直next,命令行输入go version 或 go env如下说明成功 三:编写第一个go程序,新建hellow.go文件 pac ...
- 《教我兄弟学Android逆向01 编写第一个Android程序》
前言 之所以准备写这一系列逆向的教程是因为有一些同学私信我说自己想学习Android逆向但是不知道怎么去学习 包括自己身边的一些计算机专业的同学 在大学里面老师讲的那些东西要么是自己不感兴趣 要么是自 ...
- MiniUI快速入门教程(二)编写第一个MiniUI程序:Hello, world!
我们开始编写第一个MiniUI程序,代码如下: <!DOCTYPE html /> <html> <head><title> Hello MiniUI! ...
- java web scala_spring boot+scala编写web接口
本人是Java开发者,有面向对象的基础,而Scala也是面向对象的语言,学习后可快速入门.通过学习Scala的面向对象(和java面向对象类似).Scala的高级函数(map,reduce等,和Jav ...
最新文章
- Web安全学习笔记——SQL注入
- spring boot apollo demo
- Python3异常-AttributeError: module 'sys' has no attribute 'setdefaultencoding'
- docker-rabbitmq
- Linux总结----PS命令
- 精译丨美国2017年最值得投资的7大共同基金
- 汇总好玩的cmd命令大全
- linux下安装mysql
- 影视观影神器:ZY Player for Mac使用教程
- 如何给Ubuntu系统清理垃圾
- 大一新生先学C语言编程还是先学C语言的数据结构和算法?
- USB无线网卡和PCI-E无线网卡如何选择?
- premiere cs6导出视频格式
- 读懂这三个关键词,就明白迅雷链为什么受开发者欢迎
- 2018大疆校招软件岗位笔试题目(求有效工作时间)——未在线验证
- OpenGL-坐标系统,进入3D世界(深度测试)
- csv文件用excel打开乱码
- UR机器人编译错误收集
- LeetCode 46.全排列
- java的多态,多态具体的体现