Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注解开发汇总 八.注入依赖与初始化 想要环绕拦截一个Bean的函数.需要三个前置条件: 通过注解做为切点,进行拦截(不能无缘无故给拦了吧?费性能) Bean 的 method 是被代理的(@Controller.@Service.@Dao 注解的类,都会代理 method) 在 Bean 被扫描之前,…
tomcat异常日志分析及处理 日志信息如下: 2015-10-29 18:39:49 org.apache.coyote.http11.Http11Protocol pause 信息: Pausing Coyote HTTP/1.1 on http-8088 2015-10-29 18:39:50 org.apache.catalina.core.StandardService stop 信息: Stopping service Catalina 2015-10-29 18:39:53 org…
异常,异常 我们一定要捕获一切该死的异常,宁可错杀一千也不能放过一个! 产品上线后的异常更要命,一定要屏蔽错误内容,以免暴露敏感信息! 在用Spring MVC开发WEB应用时捕获全局异常的方法基本有两种, WEB.XML,就是指定error-code和page到指定地址,这也是最传统和常见的做法 用Spring的全局异常捕获功能,这种相对可操作性更强一些,可根据自己的需要做一后善后处理,比如日志记录等. SO,本文列出Spring-MVC做WEB开发时常用全局异常捕获的几种解决方案抛砖引玉 互…
缘起 哈喽我是不定期更新的日常,昨天群里小伙伴问到了记录日志,当然,以前我也挖过这个坑,后来一直没有来得及填上,也想着 swagger 一直又有错误信息展示的功能,就迟迟没有添加这个功能,不过昨天夜里想了想,还是需要增加上,旨在提高框架的高效性.不定期日常就直接上代码了,我有一个小想法,就是希望大家有好的想法,可以给我说,我会整理下,添加到框架里,并在文章头里写上 投稿作者:这里重点说明下,是参考群里小伙伴 Hello World! 的相关内容,并在他的基础上更新,添加了注入和全局,大家可以看看…
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念: SpringBoot 错误处理 2.具体内容 在之前的程序里面如果一旦出现了错误之后就会出现一堆的大白板,这个白板会有一些错误信息(虽然这些错误信息你可能 看不懂,但是这些错误信息依然要告诉给用户).在 SpringBoot 里面针对于错误的处理一共提供有三种方式:数据验证错误.错误 页指派以及全局异常的处理. 2.1.数据验证 现在假设说要进行表单信息提交,肯定需要有一个表单,而后这个表单要将数据提交到 VO…
Spring的全局异常,用于捕获程序员没有捕获的异常.具体请看下面代码: 1.ControllerAdvice拦截异常,统一处理.通过Spring的AOP来管理. @ControllerAdvicepublic class ExceptionHandle { /**     * 要捕获什么异常:     * @return 返回Result:     */    @ExceptionHandler(value = Exception.class)    @ResponseBody    publ…
PS:本文摘抄自<Android高级进阶>,仅供学习使用 Java API提供了一个全局异常捕获处理器,Android引用在Java层捕获Crash依赖的就是Thread.UncaughtExceptionHandler处理器接口,通常情况下,我们只需要实现这个接口,并重写其中的uncaughtException方法,在该方法中可以读取Crash的堆栈信息,语句如下: public class MyUncaughtExceptionHandler implements Thread.Uncau…
第4章 开发进阶 本章将介绍一些重中之重的数据库开发知识.在数据库表设计中,范式设计是非常重要的基础理论,因此本章把它放在最前面进行讲解,而这其中又会涉及另一个重要的概念——反范式设计.接下来会讲述MySQL的权限机制及如何固化安全.然后介绍慢查询日志及性能管理的部分理念,并讲述数据库的逻辑设计.物理设计.导入导出数据.事务.锁等知识.最后会提及 MySQL的一些非核心特性,并对于这些特性的使用给出一些建议.4.1 范式和反范式 4.1.1 范式 什么是范式? 范式是数据库规范化的一个手段,是数…
Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注解开发汇总 八.注入依赖与初始化 1.如何注入Bean? 先了解一下Bean生命周期的简化版: 运行构建函数 尝试字段注入(有时同步注入,没时订阅注入.不会有相互依赖而卡住的问题) @Init 函数 ... 释放(基本不会发生) 了解这个生命过程后,可以知道注入的内容,在构建函数里是不可用的: @S…
Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注解开发汇总 八.注入依赖与初始化 1.手动 //生成普通的Bean Aop.wrapAndPut(UserService.class, new UserServiceImpl()); //生成带注解的Bean(比如:@Controller) Aop.context().beanMake(UserSe…