所有代码发布在 [https://github.com/hades0525/leyou]
原本用的onenote记得笔记,直接粘贴过来的,格式可能不好看。
启用lombok插件
1.安装lombok插件
2.pom里面引入依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>LATEST</version>
</dependency>
3.lombok常用注解
@Data:自动写setter/getter
Application.yml
1.spring2.0以上的版本
设置服务器的属性
server:
port:80
servlet:
context-path:/
要以*.do的方式访问的话
直接在controller上写hello.do
2.日志级别
logging:
level:
cn.itcast:debug
org.springfamework:debug
3.访问静态资源
在resources/static下放入静态资源
自定义拦截器
1.
MyInterceptor implements HandlerInterceptor{
实现3个方法
preHandle
postHandle
afterCompletion
}
2.
@configration
MvcConfig implements WebMvcConfigurer
实现addInterceptors方法
在方法里新建拦截器
registry.addInterceptor(newMyInterceptor()).addPathPatterns("/**");
日志
private static final Logger log = LoggerFactory.getLogger(MyInterceptor.class);
或者用lombok @slf4j 就不用getlogger
log.debug("打印的日志信息");
数据库连接池
性能最好的HikariCP(追光者)
springboot默认
spring:
datasource:
driver-class-name:com.mysql.cj.jdbc.Driver
username:root
password:root
url:jdbc:mysql://127.0.0.1:3306/yun6
通用mapper
1.依赖引入
<!--通用mapper包含了mybatis和jdbc依赖-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
2.application.yaml
mybatis:
type-aliases-package:cn.itcast.pojo
3.启动类
@MapperScan("cn.itcast.mapper")
导通用mapper的包tk.mybatis
4.自动建表
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
在实体类user
@Table(name="tb_user")
@Id
@KeySql(useGeneratedKeys=true)
private int id
5.service
@Service
publicclassUserService{
@Autowired
privateUserMapperuserMapper;
publicUserqueryById(Longid){
return userMapper.selectByPrimaryKey(id);
}
@Transactional
publicvoidinsertUser(Useruser){
userMapper.insert(user);
}
}
6.controller
@RestController
@RequestMapping("user")
publicclassHelloController{
@Autowired
private UserService userService;
@GetMapping("{id}")
public User hello(@PathVariable("id") Long id){
return userService.queryById(id);
}
}
7.启动类
导入的是mybatis的mapperscan
import tk.mybatis.spring.annotation.MapperScan;
@SpringBootApplication
@MapperScan("cn.itcast.user.mapper")
publicclassUserApplication{
publicstaticvoidmain(String[]args){
SpringApplication.run(UserApplication.class);
}
}
SpringBoot启动报错
1.连接数据库出错
解决办法:修改my.ini数据库的时区time_zone
在[mysqld]节点在节点下面加上
default-time-zone='+08:00'
或者在数据库连接的url后加上 | ?serverTimezone=GMT%2B8 |