Step1: Spring Initializr入口配置sdk
Step2:配置Spring Boot
Type选择Maven Project
Step3:勾选Web依赖
Step4: 勾选 SQl 下的 MySQL,MyBatis 依赖
Step5:选择项目位置
step6:项目目录结构
step7:编写测试类
package com.devops.syndb;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/")
public String hello() {
return "Hello Spring Boot!\nI am 硅谷课堂!";
}
}
动态参数的使用@RequestParam
package com.devops.syndb;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/")
public String hello() {
return "Hello Spring Boot!\nI am 硅谷课堂!";
}
@RequestMapping("/hello")
public String hello(@RequestParam(value="name",defaultValue = "World") String name) {
return String.format("Hello %s!",name);
}
}
step8:启动
step9:访问测试
如果maven配置不生效,重新刷新一下。
step10:最后,maven项目构建完成后,如何添加其他第三方jar包
项目构建完,往往随着项目的扩展还需要添加其他jar包到项目中如何做呢?
两种方式,如果大家知道还有其他的方法,欢迎交流分享
第一种:根据文件中的用到的第三方jar包类编译错误提示添加
比如我为了简化我entity类文件的代码,想引入lombok插件,鼠标悬停到错误代码Data上,就会有提示
“添加Maven依赖”
第二种:直接修改pom文件
到下面网站搜索到自己要加载的第三方jar包配置信息,拷贝到工程中的pom.xml文件中即可
https://mvnrepository.com/
11、如何修改springboot服务端口号
springboot项目启动后默认占用的是8080端口,在一定场景下我们可能需要修改这个端口号,该如何修改呢?
修改application.properties文件,增加一行
server.port=9090 即可
12、打包springboot项目发布到服务器
打包启动
nohup java -jar SyncDataService-0.0.1-SNAPSHOT.war &
13、springboot项目通过logback.xml配置日志输出
(1)application.properties文件增加下面配置
logging.config=classpath:logback.xml
(2)logback.xml文件样例
%date{HH:mm:ss.SSS} [%thread] %-5level %logger{10} [%file:%line] - %msg%n
UTF-8
class="ch.qos.logback.core.rolling.RollingFileAppender">
%date{HH:mm:ss.SSS} [%thread] %-5level %logger{10} [%file:%line] - %msg%n
UTF-8
${LOG_PATH}/%d{yyyy-MM-dd}.log
10
14、logback.xml配置输出编译sql信息
简单的话,可以全局配置日志级别为debug,可这会导致控制台出现过多的无关信息,
调试程序的时候我们往往需要只看sql部分的debug信息,配置方式如下:
【异常】
1、新建demo,启动时异常(运行SyndataApplication类)
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
因为创建项目时加载了mysqlDriver依赖,所以需要配置数据源信息。demo项目暂时不需要连接数据源,所以可以通过
在启动类里设置忽略数据源即可解决问题(排除加载数据源配置信息就可以正常启动了)exclude={DataSourceAutoConfiguration.class}
2.编译正常,但无法运行
运行时控制台提示org.springframework.boot不存在,实际编译都正常的,报错了类可以关联出来的。
为什么会有这种错误,还没进一步跟踪。
如下图
解决方法:我将maven版本降级后就可以了。apache-maven-3.6.3降到了apache-maven-3.3.9这个版本。
另外,修改完配置后,项目要重新构建才能生效。
找到解决方案啦,哈哈2020-09-22
设置将IDE的构建和运行动作委托给Maven来执行就可以啦。
3.mysql链接异常
数据库用mysql客户端可以正常连接,查库,查表都没有问题,但在项目中运行抛出异常
Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.] with root cause
后来经过排查,发现是驱动类的问题,驱动类,我的mysql版本过低com.mysql.cj.jdbc.Driver这个驱动类不能正常加载,这个驱动类支持高版本的mysql驱动。
我把驱动类换成了,com.mysql.jdbc.Driver就可以正常连接了,也就是说com.mysql.jdbc.Driver属于原生驱动,支持所有msyql驱动链接。
我的数据库版本,确实非常老了
4.mybatis映射domain类没有给查询条件传值,查询条件却出现了默认值
数据类型不要使用原始数据类型int、long等,否则会默认给查询条件传值,请使用对象类型定义与表的映射关系。