![](https://img-blog.csdnimg.cn/20190930105701534.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java Web
文章平均质量分 62
莱宝
技术无尽头,生命却有限,只做有意义的事。
展开
-
SpringBoot中的Interceptor(拦截器)Filter(过虑器)AOP(面向切面编程)用法小结
Interceptor(拦截器)传统拦截器的写法:SpringBoot实现自定义拦截器方法:相比springmvc,springboot中拦截器不需要在xml中配置,只需定义拦截器类implements HandlerInterceptor 和拦截器拦截路径的配置类extends WebMvcConfigurerAdapter。第一步创建一个类实现Handler...原创 2019-04-02 13:45:10 · 1778 阅读 · 0 评论 -
SpringBoot 快速开启事务中 @Transaction注解不生效的问题
常见1:遇到非检测异常时,事务不开启,也无法回滚。原因:因为Spring的默认的事务规则是遇到运行异常(RuntimeException)和程序错误(Error)才会回滚。如果想针对非检测异常进行事务回滚,可以在@Transactional 注解里使用rollbackFor 属性明确指定异常。 常见2: 在业务层捕捉异常后,发现事务不生效。原因:在业务层手工捕捉并处理了异常(try...原创 2018-09-14 16:36:10 · 13334 阅读 · 0 评论 -
SpringBoot缓存注解@CacheConfig, @CachePut, @CachePut , @CacheEvict 使用
开启缓存注解java类配置:@Configuration@EnableCachingpublic class AppConfig {}@CacheConfig一个类中可能会有多个缓存操作,而这些缓存操作可能是重复的。这个时候可以使用@CacheConfig(@CacheConfig is a class-level annotation that allows to s...原创 2018-08-21 16:09:33 · 22672 阅读 · 4 评论 -
SpringBoot:@ConfigurationProperties配置参数绑定
在springmvc或其他ssh框架中如果我们要实现一个配置参数的加载,需要使用代码实现读取properties文件等操作,或者需要使用其他属性@value(name="username")等配置操作。但是在springboot中就比较简单操作:1)自定义配置参数绑定:通过使用@ConfigurationProperties和@Component注解自定义参数配置类,之后程序启动时将自动加载a...转载 2018-08-20 09:54:29 · 3536 阅读 · 0 评论 -
java 日志框架总结
一、java 日志 在项目开发过程中,我们可以通过 debug 查找问题。而在线上环境我们查找问题只能通过打印日志的方式查找问题。因此对于一个项目而言,日志记录是一个非常重要的问题。因此,如何选择一个合适的日志记录框架也非常重要。在《阿里巴巴Java开发手册(正式版)》中,日志规约一项第一条就强制要求使用SLF4J:1.【强制】应用中不可直接使用日志系统(Log4j、L...原创 2018-08-11 14:26:03 · 732 阅读 · 0 评论 -
用Gradle构建spring源码环境 支持Eclipse或IDEA导入工程
下面以转换Spring为例:(以下1~3步骤不给予详细说明,安装方法自行百度)1、安装jdk1.8及以上;2、安装 git;3、安装 gradle;4、打开Windows PowerShell终端,git远程克隆spring-framework。 执行 git clone https://github.com/spring-projects/spring-framework.git ...原创 2018-07-05 08:33:01 · 1588 阅读 · 0 评论 -
java 深入理解内部类以及之间的调用关系
什么是内部类内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类内部类的共性(1)、内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类...转载 2018-06-24 22:15:12 · 366 阅读 · 0 评论 -
Spring ApplicationContext中Bean的生命周期和BeanFactory中Bean的生命周期
Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命周期。而实际上BeanFactory也是差不多的,只不过处理器需要手动注册。一、生命周期流程图: Spring Bean...转载 2018-06-22 16:40:47 · 300 阅读 · 0 评论 -
spring 配置的三种方式:XML配置,JAVA配置和注解配置
spring自从3.0开始以后,就全面推荐使用配置的方式进行代码编写了,这种方式确实可以避免了之前一个项目里面一大堆XML的情况,毕竟XML的可读性实在不怎么样,而且一会写JAVA,一会写XML,确实还是蛮麻烦的 。注释配置和 XML 配置的适用场合是否有了这些 IOC 注释,我们就可以完全摒除原来 XML 配置的方式呢?答案是否定的。有以下几点原因:注释配置不一定在先天上优于 XML 配置。如果...原创 2018-06-22 14:29:20 · 7173 阅读 · 1 评论 -
深刻剖析spring三种注入方式以及使用注解的原理
概述注释配置相对于 XML 配置具有很多的优势:它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。注释和 Java 代码位于一个文件中,而 XML 配置...转载 2018-06-22 14:18:14 · 176 阅读 · 0 评论 -
SpringMVC中的参数绑定总结
参考传智课程源码连接:默认支持的数据类型现在有这样一个需求:打开商品编辑页面,展示商品信息。这是我对这个需求的分析:编辑商品信息,需要根据商品id查询商品信息,然后展示到页面。我这里假设请求的url为/itemEdit.action,由于我想要根据商品id查询商品信息,所以需要传递商品id这样一个参数。最终的一个响应结果就是在商品编辑页面中展示商品详细信息,如下: 为了解决这个需求,必然要有一个商...原创 2018-06-07 21:13:51 · 201 阅读 · 0 评论 -
SpringMVC Controller 返回值的可选类型
一、可选类型spring mvc 支持如下的返回方式:1、ModelAndView2、Model3、ModelMap4、Map5、View6、String7、Void二、具体介绍1、ModelAndView@RequestMapping(method=RequestMethod.GET) public ModelAndView index(){ ModelAndView mo...原创 2018-06-07 20:45:34 · 151 阅读 · 0 评论 -
SpringMVC中的Model、ModelMap和ModelAndView的使用详解
1.三者区别①ModelModel是一个接口,它的实现类为ExtendedModelMap,继承ModelMap类public class ExtendedModelMap extends ModelMap implements Model②ModelMapModelMap继承LinkedHashMap,spring框架自动创建实例并作为controller的入参,用户无需自己创建public c...原创 2018-06-07 08:48:21 · 2032 阅读 · 0 评论 -
mybatis中resultType和resultMap使用时的区别
一、在使用mybatis进行数据库连接操作时select元素有两个属性resultType和resultMapresultType:当使用resultType做SQL语句返回结果类型处理时,对于SQL语句查询出的字段在相应的pojo中必须有和它相同的字段对应,而resultType中的内容就是pojo在本项目中的位置。因此对于单表查询的话用resultType是最合适的。但是,如果在写pojo时,...原创 2018-06-05 16:15:23 · 1857 阅读 · 0 评论 -
Eclipse怎么全局检索替换
我们用Eclipse编程,有时候需要将整个项目的某个字符串替换成其他的。1、我们首先打开Eclipse,如下:2、我们单击要替换字符串的项目,然后按下键盘上的CTRL键不放,再按下H键,如下:或者工具栏方式打开3、点击搜索文件,如下:4、我们输入要搜索和替换的字符,如下:5、我们再点击替换,如下:...原创 2018-06-05 14:15:45 · 14541 阅读 · 0 评论 -
jersey 上传图片报错returned a response status of 403 Forbidden 和returned a response status of 409 Conflict
returned a response status of 403 Forbiddentomcat服务器默认是不可写操作,只允许读,所以在Tomcat web.xml文件中的servlet标签内加入(注意o字母为小写,大概在配置文件的98行左右。) <init-param> <param-name>readonly</param-name>...原创 2018-05-24 17:11:37 · 4974 阅读 · 2 评论 -
阿里云Centos7安装Nginx服务器实现反向代理
1 安装及配置1.1 下载下载地址https://nginx.org/en/download.htmlNginx官网提供了三个类型的版本Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版Stable version:最新稳定版,生产环境上建议使用的版本Legacy versions:遗留的老版本的稳定版登陆阿里云服务器,...原创 2018-04-24 21:40:52 · 6284 阅读 · 0 评论 -
阿里云+github+Hexo部署静态资源博客
安装前提安装 Hexo 相当简单。然而在安装前,您必须检查系统中中是否已安装下列应用程序:Node.jsGit安装 Gitshell>um install git-core安装 Node.jsshell>wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh安装完成...原创 2018-04-22 22:44:31 · 1624 阅读 · 2 评论 -
Tomcat中部署web静态资源
部署前tomcat必备知识点去掉项目名和端口:首先,进入tomcat的安装目录下的conf目录,我的目录是 /usr/local/apache-tomcat-6.0.20/conf,编辑文件server.xml.1、去除端口号8080。 将server.xml中的 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="40...原创 2018-04-22 22:43:34 · 2643 阅读 · 0 评论 -
mybatis入门 第一天
自己编写的代码:https://github.com/JGPY/JAVA_L/tree/master/projectMybatismybatis 第一天 mybatis的基础知识 课程安排:mybatis和springmvc通过订单商品 案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开发)问题总结 mybatis框架原理 (掌握) mybatis入门程序 用...转载 2018-03-30 19:52:19 · 696 阅读 · 0 评论 -
POST和GET的区别
POST和GET的区别1、原理不同: 一般我们在浏览器输入一个网址访问网站都是GET请求;在FORM表单中,可以通过设置Method指定提交方式为GET或者POST提交方式,默认为GET提交方式。HTTP定义了与服务器交互的不同方式,其中最基本的四种:GET,POST,PUT,DELETE,HEAD,其中GET和HEAD被称为安全方法,因为使用GET和HEAD的HTTP请求...转载 2018-03-13 15:06:07 · 658 阅读 · 0 评论