<?php $ui_style_default = _hui('ui_style_default', 'card'); $ui_color_default = _hui('ui_color_default', 'light'); $ui_user_switch = _hui('ui_user_switch', true); $html_classes = array(); if ($ui_style_default) { $html_classes[] = 'ui-style-' . $ui_style_default; } if ($ui_color_default) { $html_classes[] = 'ui-color-' . $ui_color_default; } if (_hui('idark_default') || (_hui('idark') && _tb_is_dark())) { $html_classes[] = 'darking'; } $html_class_attr = $html_classes ? ' class="' . esc_attr(implode(' ', $html_classes)) . '"' : ''; $html_data_attr = (_hui('idark') && _tb_is_night()) ? ' data-night="1"' : ''; ?> <!DOCTYPE HTML> <html lang="<?php echo tb_get_lang() ?>"<?php echo $html_class_attr . $html_data_attr; ?>> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0"> <meta name="apple-mobile-web-app-title" content="<?php echo get_bloginfo('name') ?>"> <meta http-equiv="Cache-Control" content="no-siteapp"> <script> (function(){var a=<?php echo $ui_user_switch ? 'true' : 'false'; ?>,s="<?php echo esc_js($ui_style_default); ?>",c="<?php echo esc_js($ui_color_default); ?>",r=document.documentElement;if(r.classList.contains("ui-style-simple")){s="simple"}else if(r.classList.contains("ui-style-flat")){s="flat"}else if(r.classList.contains("ui-style-card")){s="card"}if(r.classList.contains("ui-color-dark")||r.classList.contains("darking")){c="dark"}else if(r.classList.contains("ui-color-light")){c="light"}if(a){var ls=localStorage.getItem("dux-ui-style"),lc=localStorage.getItem("dux-ui-color");if(ls){s=ls}if(lc){c=lc}}r.classList.remove("ui-style-simple","ui-style-card","ui-style-flat");r.classList.remove("ui-color-light","ui-color-dark");if(s){r.classList.add("ui-style-"+s)}if(c){r.classList.add("ui-color-"+c)}if(c==="dark"){r.classList.add("darking")}if(c==="light"){r.classList.remove("darking")}})(); </script> <title><?php echo _title(); ?></title> <?php wp_head(); ?> <link rel="shortcut icon" href="<?php echo home_url() . '/favicon.ico' ?>"> </head> <body <?php body_class(_bodyclass()); ?>> <?php do_action('dux_header_before') ?> <header class="header"> <div class="container"> <?php _the_logo(); ?> <?php $_brand = _hui('brand'); if ($_brand) { $_brand = explode("\n", $_brand); echo '<div class="brand">' . $_brand[0] . '<br>' . (isset($_brand[1]) ? $_brand[1] : '') . '</div>'; } ?> <?php if( !_hui('idark_default') && _tb_idark() !== false ){ ?> <div class="sitedark" etap="darking"><i class="tbfa">&#xe6a0;</i><i class="tbfa">&#xe635;</i></div> <?php } ?> <?php if (_hui('ui_user_switch', true) && _hui('ui_switcher_s', true)) { ?> <div class="ui-switcher"> <div class="ui-switcher-group"> <button type="button" data-type="style" data-value="simple">简洁</button> <button type="button" data-type="style" data-value="card">卡片</button> <button type="button" data-type="style" data-value="flat">扁平</button> </div> <div class="ui-switcher-group"> <button type="button" data-type="color" data-value="light">浅色</button> <button type="button" data-type="color" data-value="dark">暗色</button> </div> </div> <?php } ?> <?php if (!is_search() && ((_hui('pc_search') && !wp_is_mobile()) || (_hui('m_search') && wp_is_mobile()))) { ?> <?php if(_hui('search_type_icon',true) || (!_hui('search_type_icon',true)&&_hui('m_search') && wp_is_mobile())){ ?> <div class="navto-search search-show"><i class="tbfa">&#xe611;</i></div> <?php }else{ ?> <?php get_search_form() ?> <?php } ?> <?php } ?> <ul class="site-nav site-navbar"> <?php _the_menu((wp_is_mobile() && has_nav_menu('nav_m')) ? 'nav_m' : 'nav') ?> </ul> <?php if (!_hui('topbar_off')) { ?> <div class="topbar"> <ul class="site-nav topmenu"> <?php _the_menu('topmenu') ?> <?php if (_hui('guanzhu_b')) { ?> <li class="menusns menu-item-has-children"> <a href="javascript:;"><?php echo _hui('sns_txt') ?></a> <ul class="sub-menu"> <?php if (_hui('wechat')) { echo '<li><a class="sns-wechat" href="javascript:;" title="' . _hui('wechat') . '" data-src="' . _hui('wechat_qr') . '">' . _hui('wechat') . '</a></li>'; } ?> <?php for ($i = 1; $i < 10; $i++) { if (_hui('sns_tit_' . $i) && _hui('sns_link_' . $i)) { echo '<li><a target="_blank" rel="external nofollow" href="' . _hui('sns_link_' . $i) . '">' . _hui('sns_tit_' . $i) . '</a></li>'; } } ?> </ul> </li> <?php } ?> </ul> <?php if (_hui('topbar_sign', 'on')) : ?> <?php if (function_exists('tbm_on') && tbm_on()) : ?> <?php do_action('tbm_sign_text', 'dux') ?> <?php if (current_user_can('publish_posts')) { ?> &nbsp; &nbsp; <a rel="nofollow" target="_blank" href="<?php echo site_url('/wp-admin/') ?>"><?php _e('后台管理', 'TBL') ?></a> &nbsp; &nbsp; <a rel="nofollow" target="_blank" href="<?php echo site_url('/wp-admin/post-new.php') ?>"><?php _e('写文章', 'TBL') ?></a> <?php if (is_single() || is_page()) { ?> &nbsp; &nbsp; <?php edit_post_link(__('[编辑]', 'TBL')) ?> <?php } ?> <?php } ?> <?php elseif (is_user_logged_in()) : global $current_user; ?> <?php _moloader('mo_get_user_page', false) ?> Hi, <?php echo $current_user->display_name ?> <?php if (_hui('user_page_s')) { ?> &nbsp; &nbsp; <a rel="nofollow" href="<?php echo mo_get_user_page() ?>"><?php _e('进入会员中心', 'TBL') ?></a> <?php } ?> <?php if (current_user_can('publish_posts')) { ?> &nbsp; &nbsp; <a rel="nofollow" target="_blank" href="<?php echo site_url('/wp-admin/') ?>"><?php _e('后台管理', 'TBL') ?></a> &nbsp; &nbsp; <a rel="nofollow" target="_blank" href="<?php echo site_url('/wp-admin/post-new.php') ?>"><?php _e('写文章', 'TBL') ?></a> <?php if (is_single() || is_page()) { ?> &nbsp; &nbsp; <?php edit_post_link(__('[编辑]', 'TBL')) ?> <?php } ?> <?php } ?> <?php elseif (_hui('user_page_s')) : ?> <a rel="nofollow" href="javascript:;" class="signin-loader"><?php _e('Hi, 请登录', 'TBL') ?></a> &nbsp; &nbsp; <a rel="nofollow" href="javascript:;" class="signup-loader"><?php _e('我要注册', 'TBL') ?></a> &nbsp; &nbsp; <a rel="nofollow" href="<?php echo mo_get_user_rp() ?>"><?php _e('找回密码', 'TBL') ?></a> <?php else : ?> <a rel="nofollow" href="<?php echo esc_url(wp_login_url(get_permalink())) ?>"><?php _e('Hi, 请登录', 'TBL') ?></a> &nbsp; &nbsp; <a rel="nofollow" href="<?php echo wp_registration_url() ?>"><?php _e('我要注册', 'TBL') ?></a> &nbsp; &nbsp; <a rel="nofollow" href="<?php echo wp_lostpassword_url() ?>"><?php _e('找回密码', 'TBL') ?></a> <?php endif; ?> <?php endif; ?> </div> <?php } ?> <?php if (_hui('user_page_s') || (function_exists('tbm_on') && tbm_on())) { ?> <?php if (!is_user_logged_in()) { ?> <?php if (function_exists('tbm_on') && tbm_on()) : ?> <a rel="nofollow" href="javascript:;" class="m-icon-user" tbm-event="login"><i class="tbfa">&#xe641;</i></a> <?php else : ?> <a rel="nofollow" href="javascript:;" class="signin-loader m-icon-user"><i class="tbfa">&#xe641;</i></a> <?php endif; ?> <?php } else { ?> <?php _moloader('mo_get_user_page', false) ?> <a rel="nofollow" href="<?php echo mo_get_user_page() ?>" class="m-icon-user"><i class="tbfa">&#xe641;</i></a> <?php } ?> <?php } ?> </div> </header> <?php if (_hui('m_navbar')) { ?> <div class="m-icon-nav"> <i class="tbfa">&#xe612;</i> <i class="tbfa">&#xe606;</i> </div> <?php } ?> <div class="site-search"> <div class="container"> <?php get_search_form() ?> </div> </div> <?php if (is_single() && _hui('breadcrumbs_single_s') && hui_breadcrumbs()) { ?> <div class="breadcrumbs"> <div class="container"><?php echo hui_breadcrumbs() ?></div> </div> <?php } ?> <?php $ads_site_01_on = true; if (is_page_template('pages/navs.php') || is_page_template('pages/user.php') || is_page_template('pages/resetpassword.php')) { $ads_site_01_on = false; } $ads_site_01_on && _the_ads($name = 'ads_site_01', $class = 'orbui-site orbui-site-01'); ?> <?php do_action('dux_header_after') ?>

Spring 5.0 By Example

Spring 5.0 By Example: Grasp the fundamentals of Spring 5.0 to build modern,robust,and scalable Java applications

Spring 5.0 By Example: Grasp the fundamentals of Spring 5.0 to build modern,robust,and scalable Java applications
by: Claudio Eduardo de Oliveira
ISBN-10: 1788624394
ISBN-13: 9781788624398
Released: 2018-02-26
Pages: 356
Book Description
With growing demands,organizations are looking for systems that are robust and scalable. Therefore,the Spring Framework has become the most popular framework for Java development. It not only simplifies software development but also improves developer productivity. This book covers effective ways to develop robust applications in Java using Spring.
The book has three parts,where each one covers the building of a comprehensive project in Java and Spring. In the first part,you will construct a CMS Portal using Spring’s support for building REST APIs. You will also learn to integrate these APIs with AngularJS and later develop this application in a reactive fashion using Project Reactor,Spring WebFlux,and Spring Data. In the second part,you’ll understand how to build a messaging application,which will consume the Twitter API and perform filtering and transformations. Here,you will also learn about server-sent events and explore Spring’s support for Kotlin,which makes application development quick and efficient. In the last part,you will build a real microservice application using the most important techniques and patterns such as service discovery,circuit breakers,security,data streams,monitoring,and a lot more from this architectural style.
By the end of the book,you will be confident about using Spring to build your applications.
Contents
1: JOURNEY TO THE SPRING WORLD
2: STARTING IN THE SPRING WORLD – THE CMS APPLICATION
3: PERSISTENCE WITH SPRING DATA AND REACTIVE FASHION
4: KOTLIN BASICS AND SPRING DATA REDIS
5: REACTIVE WEB CLIENTS
6: PLAYING WITH SERVER-SENT EVENTS
7: AIRLINE TICKET SYSTEM
8: CIRCUIT BREAKERS AND SECURITY
9: PUTTING IT ALL TOGETHER
What You Will Learn
Implement REST APIs with Spring REST support
Introduce the Spring Boot and understand how it makes creating robust applications extremely simple
Understand how Spring Data helps us add persistence in MongoDB and SQL databases
Introduce Reactive Programming and use this with Spring Webflux
Implement a Reactive REST client and learn how it can create asynchronous applications
Create a robust,scalable,and fault tolerant application with Spring Messaging
Implement a websocket to add interactive behaviors in your applications
Introduce the Spring Cloud projects
Authors
Claudio Eduardo de Oliveira
Claudio Eduardo de Oliveira is a software architect and software developer working for Sensedia. He works with APIs,microservices,and cloud-centric applications. He has more than ten years of experience in software development with Java and JVM languages. He is a speaker at some important events in Brazil about Spring and other Java Frameworks.

下载地址 Download请完成验证以访问链接!
打赏
未经允许不得转载:finelybook » Spring 5.0 By Example

评论 抢沙发

觉得文章有用就打赏一下文章作者

您的打赏,我们将继续给力更多优质内容

支付宝扫一扫

微信扫一扫