spring-boot启动项目之后操作的实现方法

2017-02-20 10:44:50   朋也   spring-boot学习笔记   spring-boot  

web项目在启动之后有时候还会做点其它的东西(比如,导入数据脚本),下面就说说spring-boot里怎么在程序启动后加入自己要执行的东西

新建一个类:BeforeStartup.java

@Configuration
public class BeforeStartup implements ApplicationListener<ContextRefreshedEvent> {

    @Autowired
    private InitDB initDB;

    @Override
    public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
        initDB.createUser();
    }

}

spring-boot里用freemarker做模板的国际化配置

2017-02-18 19:37:20   朋也   spring-boot学习笔记   spring-boot freemarker i18n  

网上搜索到的都是用thymeleaf模板做的国际化,没找到freemarker,然后我想到了,spring-boot 用的mvc框架不就是springmvc吗,然后就搜索了下springmvc freemarker i18n,结果还真让我找到了

配置application.yml

spring:
  messages:
    basename: i18n/messages

新建文件

在src/main/resources下新建文件夹i18n

在i18n文件夹里创建文件messages.properties、messages_en_US.properties

js模板 underscore 简单使用教程

2017-02-15 10:54:20   朋也   模板   javascript underscore template  

获取

使用

创建模板

<!DOCTYPE html>
<html>
<head>
  <title>demo</title>
</head>
<body>
  <div id="box"></div>
  <script type="text/template" id="tpl">
    hello, <%=name%>
  </script>
  <script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
  <script src="//cdn.bootcss.com/underscore.js/1.8.3/underscore-min.js"></script>
  <script type="text/javascript">
    var name = 'world';
    var render = _.template($("#tpl").html());
    $("#box").html(render({name: name}));
  </script>
</body>
</html>

2016总结

2016-12-30 13:55:42      

letsencrypt结合nginx配置https备忘

2016-08-28 17:26:35   朋也   杂项   letsencrypt nginx https  

备忘一下我使用letsencrypt结合nginx配置网站https的过程

ssh登录服务器,克隆letsencrypt仓库

git clone https://github.com/letsencrypt/letsencrypt

进入letsencrypt目录,执行命令

beego建站之上传文件权限设计

2016-08-26 22:39:01   朋也   Golang学习笔记   Golang beego  

beego官网

pybbs-go 里的权限设计异常的简单

共设计3张表, 两两都是多对多关联, 会产生2张中间表, 一共是5张表

结构

beego建站之上传文件

2016-08-26 21:57:47   朋也   Golang学习笔记   Golang beego  

beego官网 beego上传官方文档

下面说说官方文档里没有说明的地方

上传代码

func (c *FormController) Post() {
    f, h, err := c.GetFile("uploadname")
    defer f.Close()
    if err != nil {
        fmt.Println("getfile err ", err)
    } else {
        c.SaveToFile("uploadname", "/www/"+h.Filename)
    }
}

       14 / 15