spring boot 接触有感

原创
2016/12/23 10:09
阅读数 288

最近在做一个spring 的项目,然后想把spring的项目转换成boot项目,其中有问题,也有体会。

 

体会最好的是,boot把所有的可继承的都变成了参数配置,正所谓约定优于配置。在这里我觉得很好的提现了,

比如配置freemarker,我只要集成boot-freemarker的jar包,然后里面的jar包中有个properties类,我只要按照类里面的参数在根目录下的application.propertie或者是application.yml配置上去就可以使用了,而且简单方便,不像之前的,还要写xml,xml里面有几百行都是,而且理解起来也比较麻烦。boot下来就配置几个参数就行了,而且你引入boot-freemarker的jar包会自动把关联的jar包都引入过来pom的容量也变小了。

spring boot还自带启动容器,默认是tomcat,只要你写一个application类配置上注解@SpringBootApplication然后写上main方法,运行就可以直接启动,如果你想配置一下这个容器,只要在application.propertie或者是application.yml里面写上一些参数就行,比如说你想改端口,需要写的参数是server.port=8080这样端口就改成了8080

spring boot中还存在好多没有集成jar,比如说shiro,所以这个时候你就必须自己写配置文件来进行配置,第一种是写个配置类,把所需要的参数卸载配置类里面,加入配置标签@Configuration,系统启动的时候会默认加载,第二种是像上面那种配置,你就必须写一个properties类接收application.propertie或者是application.yml配置的参数,你必须有一个定义,比如说参数名的起始必须加spring.shiro,这样你在properties中就可以指定,起始参数名为spring.shiro是需要读取的。@ConfigurationProperties(prefix = "spring.shiro"),之后在写一个配置类,引入properties类,进行配置@EnableConfigurationProperties(Properties.class),这样就可以动态进行参数配置了

 

我集成freemarker的时候

1.可以指定文件路径,也可以不指定,因为freemarker有默认的路径

默认的路径"classpath:/templates/"  默认的后缀名:.ftl

静态资源存放位置:"classpath:/META-INF/resources/", "classpath:/resources/",
            "classpath:/static/", "classpath:/public/"

上面的那些参数,网上有都有,你可以自己找找,也可以问我

 

还有一个yml和properties的配置样式是不一样的,一个是

yml是这样配置的

spring:
  datasource:
    type:  com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/xxx

记住像 type:,driver-class-name:,url:后边打个空格

properties是

spring.datasource.type= com.alibaba.druid.pool.DruidDataSource

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.url=mysql://localhost:3306/xxx

这个等号两边紧挨着就行

 

 

里面还有两个问题

1.freemarker 中没有配置freemarkerVariables的地方,这个怎么解决,我要是单独写配置类,我肯定会的

2.我配置了一个spring的cache用的是ehcache,然后shiro也想用ehcache怎么弄,我在写配置的时候不知道怎么集成

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部