
SpringBoot
@Hmily@
将来的你,一定会感激现在拼搏的自己
展开
-
HTTP请求编解码原理
System.out.println("======浏览器端======");String str = "POST /demo/user HTTP/1.1";System.out.println("1、原始数据:" + str);str = URLEncoder.encode(str, "UTF-8");System.out.println("2、utf-8 url编码:" + str);byte[] data = str.getBytes("ISO8859-1");System.out.pr.原创 2022-05-22 21:36:39 · 974 阅读 · 0 评论 -
spring boot1.5及以上版本@ConfigurationProperties取消location属性后的替代方案
1、从启动类删除@EnableConfigurationProperties注解2、在注解的类上加上@Component3、加上@PropertySource("classpath:xxx.properties")注解原创 2019-12-25 14:14:31 · 749 阅读 · 0 评论 -
获取Spring容器上下文
1、web.xml必须配置ContextLoaderListener监听器以及Spring容器上下文配置文件:<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml&l...原创 2019-11-19 16:17:38 · 594 阅读 · 0 评论 -
SpringBoot单元测试
Spring 框架提供了一个专门的测试模块(spring-test),用于应用程序的集成测试。 在 Spring Boot 中,你可以通过spring-boot-starter-test启动器快速开启和使用它。1、pom文件加入依赖:<dependency> <groupId>org.springframework.boot</groupId>...原创 2019-07-12 22:07:20 · 534 阅读 · 0 评论 -
Controller上添加@RequestMapping后导致静态资源文件404的解决办法
spring开发过程中,起初没有添加模块路径,开发中途需要在controller上添加模块路径,此时,就会导致页面的静态资源(js/img/css)等文件报404,因为路径不对了。原因是因为使用相对路径造成的,但此时页面有很多,不可能一个一个的去改。解决方法如下:1、保持页面不动:2、controller上添加对应模块路径,几级路径不限制:3、spring配置文件中配置路径映射...原创 2019-06-18 14:48:05 · 6423 阅读 · 5 评论 -
spring整合mybatis时加上mybatis log日志输出sql语句
mybatis显示log可做如下配置:spring整合mybatis时可以省略配置文件,直接在bean里面配置:或者:原创 2019-06-18 11:25:26 · 6930 阅读 · 1 评论 -
Java的三种代理模式
代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法。举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星...原创 2019-03-05 20:04:47 · 271 阅读 · 0 评论 -
IDEA不编译src/main/java目录下的xml/properties文件的解决办法
IDEA的maven项目中,默认源代码目录下(src/main/java目录)的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉。如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹。IDEA的maven项目中,默认源代码目录下(src/main/java目录)的xml等资源文件并不会在编译...原创 2019-01-05 14:42:31 · 7202 阅读 · 4 评论 -
SpringBoot上传文件
1、添加必须依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>2、配置文件:方式一:applicatio...原创 2019-02-17 16:01:05 · 250 阅读 · 0 评论 -
idea创建springboot项目
1、打开idea,选择Create New Project 2、左侧选择Spring Initializr,右侧指定jdk版本,然后直接使用默认的初始化地址即可,Next。 注:springboot2.0以后默认是jdk1.8版本 3、到这一步时可以指定一些依赖跟随项目一起初始化,也可以什么都不选择,创建一个默认的空的项目,依赖后期手动添加,Nex...原创 2019-01-04 23:45:52 · 256 阅读 · 0 评论 -
springboot不使用jrebel开启热部署
方式一:使用spring-boot-devtools 1、打开IDEA自动编译 2、添加spring-boot-devtools依赖 <!-- 热部署插件 --><dependency> <groupId>org.springframework.boot</groupId> <artifactI...原创 2019-01-05 00:13:27 · 943 阅读 · 0 评论 -
springboot添加JSP支持
前言:SpringBoot不直接支持JSP,它推荐的是thymeLeaf。1、添加JSP模板引擎<!--JSTL标签库(可选)--><dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId></dep...原创 2019-07-12 18:23:10 · 668 阅读 · 0 评论 -
SpringBoot错误页面的默认位置
在src/main/resources/目录下新建resources/error目录,把错误页面丢进去即可,错误页面的名称须要和错误对应!发生该错误时,springboot自动响应该页面给浏览器。...原创 2019-07-12 18:37:09 · 1066 阅读 · 0 评论 -
Spring单元测试
前言:Spring单元测试可以使用@AutoWired等注解方便注入Mapper或者Service,不需要new对象,大大提高了测试的效率。1、pom文件引入spring-test依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-...原创 2019-07-12 21:38:23 · 247 阅读 · 0 评论 -
@Repository注解的作用
@Repository和@Controller、@Service、@Component的作用差不多,都是把对象交给spring管理。@Repository用在持久层的接口上,这个注解是将接口的一个实现类交给spring管理。为什么有时候我们不用@Repository来注解接口,我们照样可以注入到这个接口的实现类呢?1、spring配置文件中配置了MapperScannerConfigure...原创 2019-07-16 10:35:55 · 145358 阅读 · 19 评论 -
Ajax向后台发送数组等复杂参数时的解决方案
前言:在很多时候,前台传递的参数是数组,这时不好拼接成字符串的键值对参数,那可以按照如下方式解决:1、添加”traditional:true”参数和contentType: 'application/json;charset=UTF-8'traditional:是否使用传统的方式浅层序列化。contentType:"application/json":向后台发送数据的格式必须为json...原创 2019-08-03 10:43:32 · 952 阅读 · 0 评论 -
Eclipse集成Lombok
一。lombok简介Lombok是一种Java™实用工具,可用来帮助开发人员消除Java的冗长代码,尤其是对于简单的Java对象(POJO)。它通过注释实现这一目的。通过在开发环境中实现Lombok,开发人员可以节省构建诸如hashCode()和equals()这样的方法。二。安装lombok1.首先下载Lombok.jar包,下载地址:http://projectlo...原创 2019-08-07 10:01:50 · 242 阅读 · 0 评论 -
spring AOP中的@AfterThrowing处理异常与try...catch...的区别
spring AOP中的AfterThrowing增强处理可以对目标方法的异常进行处理,但这种处理与直接使用catch捕捉处理异常的方式不同,catch捕捉意味着能完全处理异常,即只要catch块本身不抛出新的异常,则被处理的异常不会往上级调用者进一步传播下去;但是如果使用了AfterThrowing增强处理用于对异常进行处理,处理后异常仍然会往上一级调用者传播,如果是在main中调用的目标方法,...原创 2019-08-09 14:14:55 · 6363 阅读 · 0 评论 -
SpringAOP理解
概述Spring的最终目的是简化应用开发。通俗的讲减少重复代码,少写代码达到相同的目的。面向切面编程(AOP, Aspect Oriented Programming)就是一种减重复代码方式。我们都知道JAVA是一门面向对象编程(OOP, Object Oriented Programming)语言,在java中将一个个功能模块抽象成一个个对象。这些对象通过一定的联系完成我们所看到的一个个应用...原创 2019-08-09 15:27:38 · 1661 阅读 · 0 评论 -
SpringAOP五种通知示例
0、切点:0.1:方法切点:@Pointcut(value="execution(* cn.xxx.ssm.ssmtemplate.service.*.*(..))")private void addLog1() {}@Pointcut(value="execution(* cn.xxx.ssm.ssmtemplate.service.*.*(..))&&args...原创 2019-08-09 16:57:05 · 412 阅读 · 0 评论 -
SpringAOP手写全局异常处理
1、使用@AfterThrowing异常通知:注:使用异常通知,不会完全处理异常,异常会向上继续传递给调用者。1.1自定义注解:@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)@Documentedpublic @interface ProcessException { Class<? exte...原创 2019-08-09 17:18:26 · 1395 阅读 · 1 评论 -
springboot使用注解加映射文件两种方式整合Mybatis
注,一下内容是在已经配置数据库(oracle/mysql)的条件下进行的 1、在pom.xml注入mybatis-spring-boot-starter依赖 <!-- mybatis --><dependency> <groupId>org.mybatis.spring.boot</groupId> <ar...原创 2019-01-05 12:12:16 · 2803 阅读 · 0 评论 -
springboot手动配置数据库
springboot有多种连接数据库的方式,包括JDBC、JPA、MyBatis、多数据源和事务。本文使用JDBC连接数据库。 1、引入数据库的依赖oracle/mysql <!-- 数据库 --><dependency> <groupId>com.oracle</groupId> <artifactId>o...原创 2019-01-05 16:26:29 · 1867 阅读 · 1 评论 -
springboot连接MySQL报时区错误的解决办法
springboot连接MySQL运行报错:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone con...原创 2019-01-05 16:35:33 · 2870 阅读 · 0 评论 -
springboot引入Oracle依赖
由于Oracle数据库是收费的,所以oracle数据库的驱动依赖,maven仓库不提供,需要手动添加,具体操作如下:1、到Oracle安装目录找到jdbc驱动,目录:-Oracle\product\12.2.0\dbhome_1\jdbc\lib,复制ojdbc6.jar,这里我把它拷贝到F盘. 全路径F:\ojdbc6.jar。2、dos下执行命令mvn install:install...原创 2019-01-07 21:54:59 · 12546 阅读 · 0 评论 -
springboot中引入本地系统jar包,并且成功打包jar
1、在src/main/resources目录中新建lib目录,把所有用到的本地jar包放在里面2、在pom.xml文件中使用<dependency>引入依赖,记得<scope>system</scope>,<systemPath>到本地jar:<dependency> <groupId>com.raqs...原创 2019-01-07 23:21:55 · 1030 阅读 · 1 评论 -
springboot修改打包后的项目(jar/war)名称
在build里面添加inalName,指定好想要额项目名称即可:<finalName>example</finalName>原创 2019-01-07 23:23:51 · 13658 阅读 · 0 评论 -
springboot引入系统本地jar,并成功打包war包
1、修改打包形式在pom.xml里面添加<packaging>war</packaging>2、移除嵌入式tomcat插件在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码:<dependency> <groupId>org.springframework.boot</...原创 2019-01-08 00:26:11 · 2301 阅读 · 1 评论 -
springboot常用注解
广大程序员刚从spring转到springboot来时,看到那么多的注解,相信大家和我一样很头疼,经过一段时间的学习,才慢慢弄懂它们的意思,下面就给大家介绍下springboot常用的注解:@Configuration使当前Java类成为配置类,提供Java代码式的bean配置。@EnableAutoConfiguration启用SpringBoot自动化配置@Compone...原创 2019-01-08 11:07:21 · 133 阅读 · 0 评论 -
在Spring Boot中使用 @ConfigurationProperties 和 @EnableConfigurationProperties
注:以下为springboot1.5版本以前的教程。springboot1.5及以后版本中@ConfigurationProperties注解取消了locations属性,若要手动指定配置文件,请点链接看另一篇博文https://blog.youkuaiyun.com/wqh0830/article/details/103697246Spring Boot 使用一些轻松的规则来绑定属性到@Configur...原创 2019-01-08 14:08:48 · 4255 阅读 · 0 评论 -
@ConfigurationProperties与@Value的区别
@Value 与 @ConfigurationProperties 都可以从全局配置文件中获取值然后注入到属性中对比项 @ConfigurationProperties @Value 注解功能 将配置文件中的属性值批量注入类的各个属性 为类中的各个属性逐个赋值 松散绑定 支持 不支持 SpEL(Spring 表达式) ...原创 2019-01-08 22:16:58 · 792 阅读 · 0 评论 -
Lombok代替Getter/Setter方法
前言大家经常在编写实体类Model的时候,需要生成Getter/Setter方法,如果一个Model类很多字段的时候,Model类的代码将会很多,造成很难看,不优雅Lombok快速入门为了提高代码优雅,引入了Lombok(lombok.*包)lombok 的官方网址:http://projectlombok.org/让IDE支持lombok,如果不安装插件,IDE是无法解析Lomb...原创 2019-01-08 22:55:04 · 438 阅读 · 0 评论 -
Spring Boot 全局配置文件applicaion.properties/applicaion.yml
YAML 简介Spring Boot 使用一个全局配置文件来对一些默认配置值进行修改,比如Tomcat端口等配置文件名字约定为“application.properties”或者“application.yml”配置文件放必须放在src/main/resources目录或者类路径/config下yml 全称 YAML(YAML Ain't Markup Language),以数据为中心,比...原创 2019-01-08 23:06:17 · 962 阅读 · 0 评论 -
springboot默认主页及错误页面位置
1. 主页在src/main/resources/static或webapp下的index.html会是默认主页,访问时,仅需通过http://localhost:8080/即可访问。2. 错误页面在src/main/resources/resources/error文件夹是专门用于存放错误页面的位置,默认情况下,该文件夹并不存在,需要手动创建,存放在这个文件夹下的页面文件应该使用响应...原创 2019-01-07 11:28:26 · 1312 阅读 · 0 评论 -
springboot使用代码及注解两种方式注册servlet、filter、listener、intercepter
1 servlet简介 servlet是一种用于开发动态web资源的技术 参考博客:servlet基础知识httpservlet详解2 在springboot应用中添加servlet springboot的主servlet是DispacherServlet,它默认的url-pattern是“/”,如果我们还需要其他的servlet就需要开发人员自己进行定义和注...原创 2019-01-06 23:24:26 · 1096 阅读 · 0 评论 -
Spring-boot-starter常用依赖模块
Spring-boot的2大优点:1.基于Spring框架的“约定优先于配置(COC)”理念以及最佳实践之路。2.针对日常企业应用研发各种场景的Spring-boot-starter自动配置依赖模块,且“开箱即用”(约定spring-boot-starter- 作为命名前缀,都位于org.springframenwork.boot包或者命名空间下)。spring-boot-starte...原创 2019-01-05 16:51:40 · 1366 阅读 · 0 评论 -
SpringBoot默认数据源
Springboot默认支持4种数据源类型,定义在 org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration 中,分别是: org.apache.tomcat.jdbc.pool.DataSource com.zaxxer.hikari.HikariDataSource org.apac...原创 2019-01-05 16:55:45 · 3241 阅读 · 0 评论 -
spring-boot-starter-web更换默认Tomcat容器
Spring Boot支持容器的自动配置,默认是Tomcat,当然我们也是可以进行修改的。我们知道Spring Boot支持容器的自动配置,默认是Tomcat,当然我们也是可以进行修改的:1、首先我们排除spring-boot-starter-web依赖中的Tomcat:在pom文件中排除tomcat的starter<dependency> <groupId>...原创 2019-01-05 17:00:30 · 12400 阅读 · 0 评论 -
springboot自定义property
自定义Property在web开发的过程中,我经常需要自定义一些配置文件,如何使用呢配置在application.properties中:com.springboot.username=zhangsancom.springboot.password=123456自定义配置类:@Componentpublic class UserProperties { @Value(...原创 2019-01-05 17:06:27 · 527 阅读 · 0 评论 -
springboot配置mybatis generator
Mybatis generator的作用是根据表结构自动生成entity、mapper.xml以及dao接口配置步骤:1、pom文件中增加依赖及插件<!-- mybatis generator --><dependency> <groupId>org.mybatis.generator</groupId> <ar...原创 2019-01-05 17:28:38 · 1169 阅读 · 0 评论