springboot 实战之一站式开发体验

  都说springboot是新形势的主流框架工具,然而我的工作中并没有真正用到springboot;

  都说springboot里面并没有什么新技术,不过是组合了现有的组件而已,但是自己却说不出来;

  都说springboot让开发更简单,然而对于刚转换过来使用的时候总会发现各种不适应;

  网上查过许多的教程,下载过demo来玩,却无法用于实战,着实可惜。

  最近有个项目终于用springboot来开发了,一切从0开始,刚好可以练练手。来谈谈几点经验吧!(注:本文非教程,请当闲聊谈资)

1. 入门?

  springboot 的入门demo在spring官网可以直接下载,可以使用 maven 开发,upload/201901211649307172.gif" alt="复制代码" style="margin: 0px; padding: 0px; max-width: 800px; height: auto; border: none !important;" />

    <!-- spring的属性加载器,加载properties文件中的属性 -->    <bean class="com.xx.zk.property.PropertyPlaceholderConfigurer">        <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />        <property name="ignoreResourceNotFound" value="true" />        <property name="locations">            <list>                <value>classpath*:/spring/conf.properties</value>            </list>        </property>    </bean>
复制代码

  那么,在springboot中是怎么做的呢? springboot 提供了多种配置文件共存的方式,比如: bootstrap-prod.properties, bootstrap-dev.properties, 用于区分测试环境和生产环境的配置而不互相影响;

  其大致原理为,环境准备好时,会触发监听器,然后加载相应配置文件:

复制代码
    // - org.springframework.boot.context.event.EventPublishingRunListener    @Override     public void contextLoaded(ConfigurableApplicationContext context) {         for (ApplicationListener<?> listener : this.application.getListeners()) {             if (listener instanceof ApplicationContextAware) {                 ((ApplicationContextAware) listener).setApplicationContext(context);             }             context.addApplicationListener(listener);         }         // 加载 bootstrap.properties, bootstrap-dev.properties...         // 在 ConfigFileApplicationListener 的 ApplicationPreparedEvent 事件中触发        this.initialMulticaster.multicastEvent(                 new ApplicationPreparedEvent(this.application, this.args, context));     }
复制代码

  如果要使用配置中心,可以直接使用 spring-cloud-config 组件,配置即可,不说说实施这种配置中心着实难用,有能力的话都应自行定制开发一个统一配置中心(毕竟配置中心也是个技术活);spring cloud config 使用可以参考这篇博文: http://blog.51cto.com/zero01/2171735 ,或者查看官网教程!

4. 如何注册 beans ?

  1. 和spring一样,直接使用 @Service, @Controller, @Component... 注解直接注册简单的 bean; 

  2. 对于一些复合bean组件,需要单独配置,如数据库连接:

    如 spring 中druid连接池的xml配置是这样的:

复制代码
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信