自己一些总结
修改网站小图标
1、在application.properties
中配:spring.mvc.favicon.enabled = false
2、网站图片命名为favicon.ico
;
3、将favicon.ico
放在resources/static
目录下;
4、ok,结束ヾ(◍°∇°◍)ノ゙
启动彩蛋
springboot项目启动总会打印一下内容,想要更换怎么办?
1 2 3 4 5 6 7
| . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.4.0.RELEASE)
|
1、在resource
目录下面放入一个banner.txt
文件,Spring Boot启动项目的时候就会优先启动这个文件中的内容;
2、在里面存放要打印的内容;
3、文件中:Spring Boot提供了一个枚举类AnsiColor,通过${AnsiColor.BRIGHT_YELLOW}
来控制文件中字符的颜色,${spring-boot.version}
这个是springboot的版本号;
4、ok啦啦啦……
额外
1 2 3 4
| ${application.version} 这个是MANIFEST.MF文件中的版本号 ${application.formatted-version} 这个是上面的的版本号前面加v后上括号 ${spring-boot.version} 这个是springboot的版本号 ${spring-boot.formatted-version} 同上
|
统一异常处理
404等错误
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer; import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer; import org.springframework.boot.web.servlet.ErrorPage; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpStatus; @Configuration public class WebConfiguration { @Bean public EmbeddedServletContainerCustomizer proEmbeddedServletContainerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { //如果是静态页面的异常处理,如404错误,此方式不能传递异常具体信息 //错误页面需要放在Spring Boot web应用的static内容目录下,它的默认位置是:src/main/resources/static, container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/error/404.action")); container.addErrorPages(new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error/500.action")); } }; } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import org.springframework.http.HttpStatus; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseStatus; import javax.servlet.http.HttpServletRequest; @Controller public class ErrorController { @RequestMapping(value = "/error/404.action") @ResponseStatus( HttpStatus.OK ) public String pageNotFound(HttpServletRequest req, HttpServletRequest response) { req.setAttribute("errorMsg", "哎呀,被外星人抓走了!"); return "error/error"; } @RequestMapping(value = "/error/500.action") @ResponseStatus( HttpStatus.OK ) public String error(HttpServletRequest req, HttpServletRequest response) { req.setAttribute("errorMsg", "受伤啦啦啦!"); return "error/error"; } }
|
json统一异常处理
1、参考:http://blog.didispace.com/springbootexception/
2、在aop中对调用方法进行try catch,出现异常返回
邮件发送
参考:http://blog.didispace.com/springbootmailsender/
禁用依赖
参考:http://blog.didispace.com/spring-boot-disable-autoconfig/
接口参数校验
Hibernate 的 Validator 做传入参数的校验。
RestFul Api 接口参数校验及前后端交互校验 https://zhuanlan.zhihu.com/p/28399903
事务
1 2 3 4 5 6 7 8
| @SpringBootApplication //等同于 @Configuration @EnableAutoConfiguration @ComponentScan @EnableTransactionManagement // 启注解事务管理,等同于xml配置方式的 <tx:annotation-driven /> @MapperScan("com.hfy.db.mapper") public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
|
jar和dll
maven安装本地jar
maven安装本地jar
mvn install:install-file -Dfile=C:/Users/hfy/Desktop/sigar-1.6.5.132.jar -DgroupId=org.hyperic -DartifactId=sigar -Dversion=1.6.5.132 -Dpackaging=jar
Spring Boot引用本地jar包
springboot加载dll
插件
1、spring-boot-devtools
maven工程使用spring-boot-devtools进行热部署,更改代码避免重启web容器
多数据源
springboot + mybatis + 多数据源 http://www.cnblogs.com/java-zhao/p/5413845.html
后台配置
windows
windows平台下,jar包开机自启动好配置,可会有命令行窗口运行在界面上,容易不小心关闭。
1、wrapper可以实现
2、使用AlwaysUp软件
linux
看文章:linux相关知识
参考:
http://blog.didispace.com/spring-boot-run-backend/
Wrapper配置详解及高级应用
access-origin
看本人文章:ajax常见问题
模板引擎
来自:http://www.cnblogs.com/petermsdn/archive/2011/05/06/2039178.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| jsp是大家最熟悉的技术 优点: 1、功能强大,可以写java代码 2、支持jsp标签(jsp tag) 3、支持表达式语言(el) 4、官方标准,用户群广,丰富的第三方jsp标签库 5、性能良好。jsp编译成class文件执行,有很好的性能表现 缺点: jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。 freemarker 优点: 1、不能编写java代码,可以实现严格的mvc分离 2、性能非常不错 3、对jsp标签支持良好 4、内置大量常用功能,使用非常方便 5、宏定义(类似jsp标签)非常方便 6、使用表达式语言 缺点: 1、不是官方标准 2、用户群体和第三方标签库没有jsp多
|
参考
参考链接:http://www.jianshu.com/p/692be2b00e6b