springboot学习收获

  自己一些总结

修改网站小图标

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

文章目录
  1. 1. 修改网站小图标
  2. 2. 启动彩蛋
    1. 2.1. 额外
  3. 3. 统一异常处理
    1. 3.1. 404等错误
    2. 3.2. json统一异常处理
  4. 4. 邮件发送
  5. 5. 禁用依赖
  6. 6. 接口参数校验
  7. 7. 事务
  8. 8. jar和dll
    1. 8.1. maven安装本地jar
  9. 9. 插件
  10. 10. 多数据源
  11. 11. 后台配置
    1. 11.1. windows
    2. 11.2. linux
  12. 12. access-origin
  13. 13. 模板引擎
  14. 14. 参考
|