springboot学习收获

自己一些总结


修改网站小图标

1、在application.properties中配:spring.mvc.favicon.enabled = false
2、网站图片命名为favicon.ico;
3、将favicon.ico放在resources/static目录下;
4、ok,结束ヾ(◍°∇°◍)ノ゙

启动彩蛋

springboot项目启动总会打印一下内容,想要更换怎么办?

.   ____          _            __ _ _
/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/  ___)| |_)| | | | | || (_| |  ) ) ) )
'  |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: 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啦啦啦…

额外

${application.version}           这个是MANIFEST.MF文件中的版本号  
${application.formatted-version} 这个是上面的的版本号前面加v后上括号  
${spring-boot.version}           这个是springboot的版本号  
${spring-boot.formatted-version} 同上

统一异常处理

404等错误


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"));
            }
        };
    }
}
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,出现异常返回

乱码

再谈Spring Boot中的乱码和编码问题:https://www.huangyunkun.com/2016/11/05/spring-boot-encoding-with-utf8/

邮件发送

参考:http://blog.didispace.com/springbootmailsender/

禁用依赖

参考:http://blog.didispace.com/spring-boot-disable-autoconfig/

接口参数校验

Hibernate 的 Validator 做传入参数的校验。
RestFul Api 接口参数校验及前后端交互校验 https://zhuanlan.zhihu.com/p/28399903

事务

@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

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多

session过期,跳出iframe

使用的AdminLTE,左边菜单栏不刷新,只刷新内容区域。

session过期处理,跳转登录,结果登录总在content区域显示,按网上的处理方式:在登录页面<head></head>中添加如下代码:

<script type="text/javascript">
	if (window != top)
	top.location.href = location.href;
</script>

然而并没有什么用。最后啦,按以下方式处理:

var $mainLoader = $('#main-loader');
$mainLoader.load(url,function(){
  //session过期跳转到登陆页
  $mainLoader.find('form button.loginBtn').length!=0 && (window.location.href = contextPath+'/login');
});

参考

参考链接:http://www.jianshu.com/p/692be2b00e6b

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值