spring boot web项目搭建
上官网选择需要加载的jar包:
Rest Repositories :用于restful项目。
mySQL : 连接mysql数据库的驱动。
mybatis:使用mybatis框架。
DevTools:热部署jar包(也可以在maven文件中引用)
org.springframework.boot
spring-boot-devtools
true
下载下来就是一个maven项目,使用开发工具打开此maven项目
二:GET请求
关键字:GerMapping
GerMapping的一些用法:
GerMapping(/index):在/index链接下访问此方法。
GerMapping(/{id})
public XXX getXXX(@PathVariable int id){}
:在访问链接由传入的参数ID产生。
获取get请求中的参数:
@GetMapping("/getobj")
public Object getObjByParam(@RequestParam("name") String name,@RequestParam("sex")String sex,@RequestParam("name")int age){
String str = "test = " + age+" name = "+name +" sex = "+sex;
logger.info(str);
return age;
}
显然给代码维护和阅读带来不便,可以通过构造一个对象来简化参数的接收方式如下:
@GetMapping("/getobj")
public Object getObj(Test test){
logger.info("test = " + test);
return test;
}
三:POST请求
关键字:postMapping
postMapping可以通过对象接收参数
@PostMapping("/getobj")
public Object getObj(Test test){
logger.info("test = " + test);
return test;
}
四:上传文件:
上传文件肯定用的是POST格式
@PostMapping(value="/{id}/photos",consumes=MediaType.MULTIPART_FORM_DATA_VALUE)
public void addPhoto(@PathVariable int id, @RequestParam("photo") MultipartFile imgFile) throws Exception{
if (log.isTraceEnabled()){
log.trace("接收到文件"+ id + “收到文件” + imgFile.getOriginalFilename());//.getOriginalFilename()获取文件名称
}
//保存文件
FileOutputStream fos = new FileOutputStream("target/" + imgFile.getOriginalFilename());//定义文件的输出
IOUtils.copy( imgFile.getInputStream(),fos);
fos.close();
}
五:下载文件
@GetMapping(value="/{id}/icon",produce=MediaType.IMAGE_JPEG_VALUE)
public byte[] getIcon(@PathVariable int id) throws Exception{
String iconFile = 'src/test/resources/icon.jpg';
InputStream is new FileInputStream(iconFile);
return IOUtils.toByteArray(is);
}
六:spring日志
spring默认使用的log4j作为日志输出管理工具
在yml文件中的配置:郑州人流手术费用 http://mobile.120csjlyy.com/
#配置日志 logging: #配置日志文件路径 level: xatu.zsl: debug #不同目录下的日志可配置不同级别 org.springfromework.web: info org.hibernate: error #采用相对路径方式将日志文件输出到【log\myspringboot.log】 file: log\myspringboot.log
#配置日志文件路径(绝对路径) path: G:\work_space\study_spring2\study_boot_demo\log
日志级别:trace
七:集成mybatis
1.修改pom.xml添加mybatis的jar包(包括相应数据库驱动)
2.修改application.yml添加数据库连接(各个数据库格式不同)
mysql(实例):
spring:
profiles:
active: prod
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/test
username: root
password: root
MariaDB和Oracle(实例):
datasources:
portal:
datasource:
url: jdbc:oracle:thin:@172.10.11.5:1521/orcl # jdbc:mariadb://127.0.0.1:3306/demo
username: demo
password: demo
driverClassName: oracle.jdbc.OracleDriver # org.mariadb.jdbc.Driver #
# 初始化大小,最小,最大
initialSize: 6
minIdle: 4
maxIdle: 15
maxActive: 22
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: select 1 from dual
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
3.修改启动类,增加@MapperScan("package-of-mapping")
在application.java中加入@MapperScan("填写mapper路径")例如:
@SpringBootApplication
@MapperScan("com.demo.dao")
public class Application{
public static void main(String[] args){
.......................
}
}
4.添加Mybatis Mapping接口等