写点什么

SpringBoot 遗忘后的简单快速回忆之环境搭建与常见注解

作者:程序员啊叶
  • 2022 年 7 月 29 日
  • 本文字数:2277 字

    阅读完需:约 7 分钟

SpringBoot 遗忘后的简单快速回忆之环境搭建与常见注解

搭建 SpringBoot 环境,创建 maven 项目后

1,创建入口类:

@MapperScan(basePackages = "com.baizhi.dao"  ) //把dao层交给工厂管理@SpringBootApplication//标识入口类的注解public class Applincation  {    public static void main(String[] args) {        SpringApplication.run(Applincation.class,args);    }}
复制代码

2,创建统一配置 application.yml

层级之间有一个 tab 键的间隔属性名和值之间有一个空格的间隔

配置 springBoot 的端口号和项目名 项目名必须/开头

server:  port: 8989  servlet:    context-path: /userModel
复制代码

配置 mybatis mapper.xml 文件的位置

mybatis:mapper-locations: classpath:com/baizhi/mapper/UserDao*.xml
复制代码

b 补充 mubatis 配置 开启 mybatis 的批处理,这样可以提高同类操作的效率 ,比如循环按 id 删除

mybatis.executor-type=batch
复制代码

配置连接数据库的连接属性 用的阿里的连接池

spring:datasource:  username: root  password: root  type: com.alibaba.druid.pool.DruidDataSource  driver-class-name: com.mysql.jdbc.Driver  url: jdbc:mysql://主机名:3306/库名?useSSL=false&characterEncoding=UTF8&serverTimezone=GMT
复制代码


配置springBoot 自动依赖的日志级别
复制代码


logging: level:   com.baizhi.dao: DEBUG    com.baizhi.service: warning   root: info #全局的
复制代码

配置实体类接收到的时间格式

spring:  mvc:   date-format: yyyy-MM-dd jackson:   date-format: yyyy-MM-dd   time-zone: GMT+8   #因为SpringBoot 用的时国外的时区,所以要+8改成北京的
复制代码

post 表单提交乱码和 tomcat 乱码 默认就是 utf-8

spring.http.encoding.charset=UTF-8server.tomcat.uri-encoding=UTF-8
复制代码

3,依赖

首先在< dependencies >标签前导如仲裁中心

<parent>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-parent</artifactId>    <version>2.1.5.RELEASE</version>  </parent>
复制代码

在< dependencies >内部导入 SpringBoot 的 web 启动器

<dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-web</artifactId>   </dependency>
复制代码

SpringBoot 集成 Mybatis 需要导入 Mybatis 启动器数据库 这里导的时 Mysql 连接池 这里导的阿里的

<!-- mybatis -->  <dependency>    <groupId>org.mybatis.spring.boot</groupId>    <artifactId>mybatis-spring-boot-starter</artifactId>    <version>1.3.3</version>  </dependency>  <!-- msq -->  <dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>8.0.12</version>  </dependency>  <!-- 阿里连接池 -->  <dependency>    <groupId>com.alibaba</groupId>    <artifactId>druid</artifactId>    <version>1.0.31</version>  </dependency>
复制代码

测试时需要的

<!-- 测试 -->   <dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-test</artifactId>   </dependency>
复制代码

在写代码时常用的一些注解

service 层

@Service("IUserServiceInt") //将业务类交予工厂统一管理//业务控制用于读操作方法上,可提高读写效率@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)//业务控制,用于写操作 可放在类上表示全类 也可放在方法上@Transactional@AutoWired  //用来将spring容器中的实例bean注入到类中,常用在类中属性上,通过type类型注入。@Resource //和上面的注解一样,都是用来注入实例bean到类中的,只不过这个是通过name类型注入。
复制代码

Controller 层

@Controller  //将Controller类交予工厂统一管理@ResponseBody //把返回值对象自动转换为json字符串并响应回客户端 只接收json@RestController //Controller层注解,@ResponseBody和@Controller的合集@RequestMapping(value = "/FormUserController") //是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。@PostMapping(value = "/registerUser")  //增@GetMapping(value = "/queryUserByPage")  //查@DeleteMapping(value = "/deleteUserByIds") //删@PutMapping(value = "/updateUser") //改   都只能用在方法上用来处理请求地址映射的注解,也对应从客户端传过来的方式!@RequestParam(value = "ids") Integer[] ids  用在方法的参数前面。相当于 request.getParameter();接收表单参数 @RequestOart(value="") //在请求体里同时接收  文件和json @PathVariable("id")  //获取路径中的参数
复制代码

SpringBoot 测试用到的注解

import static org.junit.Assert.*;// 导断言包@SpringBootTest(classes = {入口类名.class})@RunWith(SpringRunner.class)public class UserServiceTest {    @Autowired    private IUserService userService;    @Test //可直接运行    public void saveUserTest(){        User user = new User("赵小六", true, "123456", new Date(), "aa.png", "qq.com");        userService.saveUser(user);        assertNotNull("用户ID不为空",user.getId()); //下断言,如果user.getId()为空则报错
复制代码

补充

@Component: 泛指组件,当组件不好归类的时候,我们可以使用这个注解进行 @Repository:  dao(数据库访问层)层注解
复制代码

Mapper.xml 在 idea 设置默认样式


样式模板

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="dao层接口全类名"></mapper >
复制代码


用户头像

还未添加个人签名 2022.07.13 加入

还未添加个人简介

评论

发布
暂无评论
SpringBoot 遗忘后的简单快速回忆之环境搭建与常见注解_Java_程序员啊叶_InfoQ写作社区