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

原文作者:笑而抿之乎

e1c407368c48add3a5ac8237830adf70.png

搭建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 >标签前导如仲裁中心

org.springframework.boot    spring-boot-starter-parent    2.1.5.RELEASE

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

org.springframework.boot     spring-boot-starter-web   

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

  org.mybatis.spring.boot    mybatis-spring-boot-starter    1.3.3mysql    mysql-connector-java    8.0.12com.alibaba    druid    1.0.31

测试时需要的

   org.springframework.boot     spring-boot-starter-test   

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

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 设置默认样式

66531fe85f01f1bb7cf4e8bf2437f3ff.png

样式模板

<?xml version="1.0" encoding="UTF-8"?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571742.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android插件丢失怎么办,Android studio推荐插件以及升级后插件丢失问题解决

1、android-butterknife-zeleznyandroid-butterknife-zelezny 是根据butterknife定制的一款插件&#xff0c;能够方便快速初始化&#xff0c;对于我来说是开发必备&#xff0c;本人也对此插件进行了一些优化&#xff0c;个人感觉用起来更爽 &#xff0c;博客地址&#xff1a;Bu…

软工团队 - 系统设计

软工团队 - 系统设计 修改完善需求规格说明书 针对栋哥在上周答辩中主要提到问题的相应改动 管理员层面没有在需求中得到很好的体现。没有手机号验证。那时候回答的比较含糊orz&#xff0c;所以在这里说明一下对此作出的解释和修改。 对于第一点&#xff0c;我们讨论的结果是至…

python decimal_python学习笔记一

1、~4不太明白、右移、左移整体移动添加零2、注意运算符&#xff0c;3、1<<5&716&704、set中的pop() 方法用于随机移除一个元素。字典中&#xff1a;list中5、Python dir() 函数dir()函数不带参数时&#xff0c;返回当前范围内的变量、方法和定义的类型列表&…

android theme继承原理,android – 使用Holo父主题从Theme.Light继承editText

所以我的想法是从android&#xff1a;Theme.Holo.Light扩展一个自定义主题(实际上只是一种风格),然后覆盖EditText属性以使用android&#xff1a;Theme中的父设置.它看起来像android&#xff1a;Theme.Holo.Light使用editTextStyle属性引用来更改EditTexts的外观&#xff1a;an…

java基础基础总结----- Date

前言&#xff1a;其实在学习这个的时候&#xff0c;自我感觉学到什么直接查询API就可以了&#xff0c;没有必要再去研究某个方法怎么使用&#xff0c; 重点学习一下经常用到的方法。感觉自己的写的博客&#xff0c;就跟自己的笔记一样&#xff0c;用的是时候&#xff0c;就能快…

pandas object转float_Pandas中文官档~基础用法6

呆鸟云&#xff1a;“这一系列长篇终于连载完了&#xff0c;还请大家关注 Python 大咖谈&#xff0c;这里专注 Python 数据分析&#xff0c;后期呆鸟还会给大家分享更多 Pandas 好文。”数据类型大多数情况下&#xff0c;pandas 使用 Numpy 数组、Series 或 DataFrame 里某列的…

android studio 拉取分支,AndroidStudio中使用Git-高级篇(二)——新建分支(branch)和拉取请求(Pull request)...

前段时间写过一篇文章介绍如何在AndroidStudio使用上传项目到github&#xff0c;今天接着给大家带来了他的高级篇——新建分支(branch)和拉取请求(Pull request)。在真正的开发中我们很少写完代码commit后直接push代码上去&#xff0c;因为这样做没有经过第二个人的审核&#x…

用NGINX做负载均衡,keepalived高可用

实验环境&#xff0c;四台虚拟机&#xff0c;两台做负载均衡&#xff0c;两台做RS IP地址&#xff1a;两台负载均衡分别为&#xff1a;10.0.0.7&#xff1b;10.0.0.8&#xff08;高可用keepalived&#xff09; 两台 RS主机地址为&#xff1a; 10.0.0.9&#xff1b;10.0.0.10 …

collection转换为list_JAVA 集合 接口继承关系和实现,List,Set,Map(总结)

一. JAVA 集合1.接口继承关系和实现集合类存放于 Java.util 包中&#xff0c;主要有 3 种&#xff1a;set(集&#xff09;、list(列表包含 Queue&#xff09;和 map(映射)。1. Collection&#xff1a;Collection 是集合 List、Set、Queue 的最基本的接口。2. Iterator&#xff…

采用类药五规则成功设计药物的案例

在药物设计中采用类药五规则&#xff08;Lipinski’s Rule of Five&#xff09;的一个著名例子是非核苷类反转录酶抑制剂&#xff08;NNRTI&#xff09;伊法韦伦&#xff08;Efavirenz&#xff09;的开发。伊法韦伦是用于治疗HIV的药物&#xff0c;其设计过程考虑了类药五规则&…

lazarus开发android应用程序指南,Lazarus开发Android应用程序指南(2)

本指南版权由delphicn所有&#xff0c;QQ&#xff1a;1339838080(tom)&#xff0c;转载请保留版权信息。文中难免有错&#xff0c;欢迎指正。2&#xff0e;编译运行lazarus中的Android示例程序。lazarus安装包中自带示例是在lazarus/examples/androidlcl/androidlcltest.lpi 。…

plsqldevelop安装教程

一、下载并解压压缩包&#xff0c;解压后有如下文件&#xff1a; 二、运行PLSQL Developer10.0.5.1710.exe文件&#xff0c;可以修改文件安装路径&#xff0c;然后一直下一步下一步就可以了; 三、运行软件汉化包PLSQL Developer10.0.5.1710_CHS.exe&#xff0c;不用管一直下一步…

android上运行java命令,Java exec()不在android上运行busybox命令

我想通过java程序运行一些shell命令 . 应用程序只接受命令在shell上执行它并返回结果 .我用过这个&#xff1a;进程p Runtime.getRuntime() . exec(in); p.waitFor(); BufferedReader reader new BufferedReader(new InputStreamReader(p.getInputStream())); String line r…

java优先队列_Java高级特性增强-多线程

请戳GitHub原文: https://github.com/wangzhiwubigdata/God-Of-BigData大数据成神之路系列&#xff1a;请戳GitHub原文: https://github.com/wangzhiwubigdata/God-Of-BigDataJava高级特性增强-集合Java高级特性增强-多线程Java高级特性增强-SynchronizedJava高级特性增强-vola…

noip模拟赛 立方数2

题目描述LYK定义了一个数叫“立方数”&#xff0c;若一个数可以被写作是一个正整数的3次方&#xff0c;则这个数就是立方数&#xff0c;例如1,8,27就是最小的3个立方数。LYK还定义了一个数叫“立方差数”&#xff0c;若一个数可以被写作是两个立方数的差&#xff0c;则这个数就…

理解JS的6种继承方式

【转】重新理解JS的6种继承方式 写在前面 一直不喜欢JS的OOP&#xff0c;在学习阶段好像也用不到&#xff0c;总觉得JS的OOP不伦不类的&#xff0c;可能是因为先接触了Java&#xff0c;所以对JS的OO部分有些抵触。 偏见归偏见&#xff0c;既然面试官问到了JS的OOP&#xff0c;那…

android 滚动列表框,建立滚动列表框

另一个可代替一组单选按钮及复选框的是滚动列表框(见图6.9)。使用滚动列表框&#xff0c;你可以建立一个选项列表&#xff0c;用户可以从中选择一个或多个选项。你可以使用建立下拉式列表框的标识符来建立一个滚动列表框&#xff0c;只是使用不同的属性。下面是个例子&#xff…

mysql远程连接错误10038--navicat for mysql (10038)

mysql远程连接错误10038--navicat for mysql (10038) 转载&#xff1a;http://blog.csdn.net/chana1101/article/details/39641415 http://www.cnblogs.com/ohmydenzi/p/5521121.html ubuntu server16.04.1下安装了MySQL 5.7数据库&#xff0c;然后在windows下通过Navicat for …

collection集合 多少钱_面试必备-Java集合框架

Java集合框架面试题常见集合集合可以看作是一种容器&#xff0c;用来存储对象信息。 数组和集合的区别&#xff1a; &#xff08;1&#xff09;数组长度不可变化而且无法保存具有映射关系的数据&#xff1b;集合类用于保存数量不确定的数据&#xff0c;以及保存具有映射关系的数…

html鼠标滚动图片折叠,鼠标滑过图片3D折叠效果

本教程我们将使用CSS3 3D transforms和jQuery来制作一个神奇的3D折叠效果。在我们的demo中&#xff0c;图片在鼠标滑过的时候被折叠&#xff0c;空出来的部分将显示图片的一些信息。我们将创建一个放置图片html结构&#xff0c;当鼠标滑过它时&#xff0c;使用jQuery来将折叠或…