- linux 时间 环境变量,Linux环境变量的修改(永久,暂时)以及修改ls显示的时间格式...
喜迁莺
linux时间环境变量
本文转自:http://blog.sina.com.cn/s/blog_8e21864f01014u9h.htmlLinux修改环境变量,很简单但很重要一、Linux的变量种类按变量的生存周期来划分,Linux变量可分为两类:1.永久的:需要修改配置文件,变量永久生效。2.临时的:使用export命令行声明即可,变量在关闭shell时失效。二、设置变量的三种方法1.在/etc/profile文件中
- Spring Boot 和 React 文件上传与下载教程
DZSpace
软件开发springbootreact.js后端
在本教程中,你将学习如何使用SpringBoot构建文件上传和下载的后端功能,以及使用React实现前端界面。示例中还包括文件预览的功能。目录设置SpringBoot后端创建React前端整合与测试设置SpringBoot后端我们首先创建一个简单的SpringBoot应用程序来处理文件上传和下载。创建SpringBoot项目使用你喜欢的方法(SpringInitializr、IDE等)创建一个新的
- “飞毛腿”小汽车
1e739302728d
我家新买的小汽车穿着,“绿色的衣服”,肚子鼓鼓的,车头和车尾扁扁的,车头前端还瞪着一双“大眼睛”——车灯。虽然它貌不惊人,但跑起来可快了。你瞧,随着“滴滴”两声,它的尾部冒出一股黑烟,紧接着,四个轮子飞快地转动起来,一转眼就跑出去了老远。
- 密码访问单页自定义跳转页面源码
CSDN专家-微编程
HTML项目javascript开发语言ecmascript
源码介绍密码访问单页自定义跳转页面源码,密码访问单页自定义跳转页面,修改了的密码访问单页,添加了js自定义密码跳转页面。需要正确输入密码才能跳转目标网址。源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面源码截图源码下载密码访问单页自定义跳转页面源码
- python接口篇-pytest框架
清微清微
python之接口自动化测试pythonpytest测试用例pycharm自动化
一、pytest框架的使用安装Pytest#安装pipinstallpytest#验证安装pytest--version#展示当前安装的版本pipinstallpytest-html#安装原生态报告模板(自带的,不好用)pipinstallpytest-html#用于生成美观的测试报告pytest用例编写规则(1)模块名必须以test_开头或者_test结尾(如:test_ab.py)(2)测试类
- SpringBoot+Vue疫苗接种管理系统 预约接种疫苗管理系统 疫苗接种查询系统Java
计算机程序老哥
作者主页:计算机毕业设计老哥有问题可以主页问我一、开发介绍1.1开发环境开发语言:Java数据库:MySQL系统架构:B/S后端:SpringBoot(Spring+SpringMVC+Mybatis)前端:Vue工具:IDEA或者Eclipse,JDK1.8,Maven二、系统介绍2.1图片展示注册登录页面:登陆.png前端页面功能:首页、疫苗信息、健康科普、疫苗资讯、个人中心、后台管理、咨询服
- Flask+LayUI开发手记(五):树型表格实现数据展示与编辑
hbrown
layui前端javascript
说起来,树型表格treeTable绝对是后端程序员的巨大福利。要知道,在系统编程中,有父子节点关系的数据真是太多了,随便想一下就可以举出很多例子,比如权限、栏目、机构、产品、科目、货币、行业诸般等等,其实只要是稍微复杂一点的参数数据都会以树型方式来进行组织。以前做这种要专门找个树型组件来做,很麻烦的。Layui提供的树型表格TreeTable,实际是对表格的一个扩展类,把树和表格合在一起,前端配置
- 关于html元素的标签
Sylvia_703
前端知识html前端
一、html元素标签语义化提到html元素的标签,第一个想到的就是标签语义化。现在来聊聊什么是标签语义化:它指的是使用具有明确意义的html元素的标签来组织和描述网页内容,以便更直观地表达内容的含义和结构,让标签的用途和作用更加明确。通俗来讲就是用正确的标签做正确的事情。语义化的优点如下:提高代码的可读性:使用语义化标签可以让开发者和阅读代码的人更容易理解网页的结构和内容。优化搜索引擎(SEO):
- 解决uniapp视频层级太高的问题
云123321
uniappuni-app
刷新可拖动//配置公共方法exportdefault{data(){return{videoUrl:'https://***',weixin_moveable_x:320,weixin_moveable_y:450};},computed:{videoHTML(){return``}},methods:{wx_pro_refresh(){var_this=this;},}};
- 午课写字 - 2018年11月全集
钮海津
钮海津,午课写字午课写字-2018年11月全集https://book.yunzhan365.com/lews/przp/index.html
- vite打包工具的简单使用
Software攻城狮
Vue3前端
vite打包工具的简单使用Vite是一个由Vue.js核心团队开发的现代前端构建工具,它专注于提供更快的开发体验和高效的构建性能。Vite利用ES模块的原生支持,实现了即时编译和热模块替换(HMR),并且在构建时采用Rollup来优化最终输出。Vite的基本配置Vite的配置文件是vite.config.js或者vite.config.ts(如果你使用TypeScript)。在这个文件中,你可以定
- 【面试题】JavaScript 中 try
2401_84438488
javascript开发语言ecmascript
地址:前端面试题库web前端面试题库VSjava后端面试题库大全作为一位Web前端工程师,JavaScript中的try...catch是我们常用的特性之一。try...catch可以捕获代码中的异常并防止应用程序崩溃。但是try...catch不仅仅是简单地捕获异常。本文我将分享10个有用的try...catch使用技巧,让你在处理异常时更加得心应手。1.捕获所有异常如果你想捕获代码中所有可能的
- 扑捉一只耿鬼(HTML文件)
Coisini_甜柚か
游戏web前端htmlcss
图例:代码:耿鬼body{background:#fff;font-family:'Comfortaa',sans-serif;}*{box-sizing:border-box;}*:before,*:after{content:'';position:absolute;}main{width:400px;height:400px;margin:auto;text-align:center;}.g
- Vue-cli创建单页面网页
caiyiii
安装npminstall-g@vue/cli创建项目vuecreate项目名选择预设环境使用键盘的上下键进行选择,enter键确定默认情况下是default(bableeslint)bable:下一代JavaScript编译器,将es6语法编译为es5语法eslint:规范代码行为,可组装的JavaScript和jsx检查工具可点击第二个,进行自主选择键盘上下键选择,空格选中创建的项目各个文件no
- 前端实现奥运五环图标
小刘|
前端
htmlDocumentcssbody{display:flex;justify-content:center;height:100vh;align-items:center;transform-style:preserve-3d;}.olympic-rings{width:800px;height:400px;display:flex;flex-wrap:wrap;justify-content
- Django模板语法及render,HttpResponse,redirect
柒拾霜染
djangopython后端
建立path,建立viewdefreview(request):importtime'''模板语法'''num1=22num2=11strl='123'array=['a','b','c']dictl={'h':'head','b':'body','c':'content'}returnrender(request,'grammar.html',{'n1':num1,'n2':num2,'n3':
- django中HttpResponse render redirect 使用和区别
Hou_Monkey
HttpResponserenderdjango中HttpResponserender和redi面试题你对HttpResponserender的理解
django中HttpResponserenderredirect使用和区别在django的views模块中把业务逻辑发送前端(有转发和重定向)1.要想使用他们先导入HttpResponse:它返回到前台传入一个字符串,发送给浏览器。render:可以传递三个参数1request参数,2.渲染的html页面,3.带数据的值。renderct:url参数跳转到指定页面
- ES6随笔(重点)
Y一蓑烟雨任平生
es6前端
ES6新增块级作用域概念。let和const声明的变量和常量,只在所处的代码块内有效,外部访问打印xisnotdefined.最典型的就是for循环中的变量声明,用var声明的话,i是全局变量,每一次循环i的值都增加,所以在循环内部打印的i就是全局变量i,所以i打印出来的就是最后一次i++完的值。let的块级概念完美的解决了这个问题。ES5只有两种声明变量的方法:var命令和function命令。
- Django基础必备三件套: HttpResponse 、render、redirect
大城市的小人物
Djangodjangohtml
1、HttpResponse:它的作用是内部传入一个字符串参数,然后发给浏览器fromdjango.httpimportHttpResponsedefindex(request):returnHttpResponse(‘ok’)2、render:可以接收三个参数,一是request参数,二是待渲染的html模板文件,三是保存具体数据的字典参数fromdjango.shortcutsimportre
- 【VUE+SpringBoot】前端获取到的数据与后台从数据库中获取到的数据不一致
你不懂的阳
问题后台从数据库中查询到的数据,转换成JSON字符串传到前端后,缺少部分字段。@RequestMapping("/getUpdateUser")publicStringgetUpdateUser(intid){Useruser=userDao.getUpdateUser(id);Stringstring=JSON.toJSONString(user);returnstring;}asyncshow
- ES6的 async 函数
辽A丶孙悟空
含义ES2017标准引入了async函数,使得异步操作变得更加方便。async函数是什么?一句话,它就是Generator函数的语法糖。一比较就会发现,async函数就是将Generator函数的星号(*)替换成async,将yield替换成await,仅此而已。async函数对Generator函数的改进,体现在以下四点。内置执行器。Generator函数的执行必须靠执行器,所以才有了co模块,
- 上传文件太大 net::ERR_CONNECTION_ABORTED 500 (Internal Server Error) 连接失败错误
我的风格0.0
spring前端springjava前端
前端技术:VUE,elementUI后端技术:springCloudspringBoot前台上传文件时一直报错:net::ERR_CONNECTION_ABORTED问题根因:上传文件太大,超过后台配置解决办法:后台application.yml中添加配置:spring:servlet:multipart:enabled:truemax-file-size:100MBmax-request-siz
- vue 精选评论词云 集成echarts-wordcloud TF-IDF算法
麦麦大数据
可视化研究vue.jsecharts前端tf-idf
这一期在我们的系统里集成词云组件,开发的功能是景区精选评论的词云展示功能。这个界面的逻辑是这样的:在数据框里输入城市,可以是模糊搜索的,选择城市;选择城市后,发往后台去查询该城市的精选评论,由于一个城市会有很多景点,所以精选评论也有很多,采用TF-IDF算法,计算关键词,返回给前端,使用echarts词云组件进行可视化;再次输入城市,可以切换城市,同时词云会重新渲染。1词云页面开发首先前端安装词云
- scrapy学习笔记0828-下
github_czy
scrapy学习笔记
1.爬取动态页面我们遇见的大多数网站不大可能会是单纯的静态网站,实际中更常见的是JavaScript通过HTTP请求跟网站动态交互获取数据(AJAX),然后使用数据更新HTML页面。爬取此类动态网页需要先执行页面中的JavaScript代码渲染页面,再进行爬取。在这里我们采用scrapy官方推荐的Splash渲染引擎,我们需要通过docker来安装splash并使其运行起来,这里就暂时不展开,安装
- 线上考试系统---虚拟化技术部署
琉璃一梦
云计算学习运维服务器nginx
部署前端服务器1.将资源上传到服务器scp-rdist/
[email protected]:~2.在服务器上创建基础容器[root@docker0~]#dockerrun-it--namec0centos:latest/bin/bash[root@c1092b8c9ce5/]#[root@docker0~]#[root@docker0~]#dockerattachc03.在容器中修改yum源[ro
- 前端 css基础
湫風如兮
css
1.什么是css是一组样式设置的规则,用于控制页面的外观样式2.为什么使用css1.实现内容与样式的分离,便于团队开发2.样式复用,便于网站的后期维护3.页面的精确控制,让页面更精美3.css作用1.页面外观美化2.布局和定位4.css应用方式也称为CSS引用方式,有三种方式:内部样式、行内样式、外部样式4.1.内部样式在title标签下面建一个style标签写css代码优点:在同一个页面内部便于
- python爬虫:通过DBLP数据库获取数据挖掘顶会KDD在2023年的论文收录和相关作者信息
千里澄江
python数据分析python爬虫算法数据挖掘数据分析
Task1读取网站主页整个页面的html内容并解码为文本串(可使用urllib.request的相应方法),将其以UTF-8编码格式写入page.txt文件。Code1importurllib.requestwithurllib.request.urlopen('https://dblp.dagstuhl.de/db/conf/kdd/kdd2023.html')asresponse:html=r
- 基础一:箭头函数和普通函数的this区别
适应653
javascript
一、在前端HTML中,普通函数中的this指向window对象的情况通常发生在以下几种情况下:1、全局作用域:在全局作用域中定义的普通函数中,this指向window对象:functionmyFunction(){console.log(this===window);//true}myFunction();2、事件处理函数:当事件处理函数直接作为HTML元素的属性值时,this指向触发事件的元素。
- Unity 打包exe时添加管理员权限
qq_38513810
unity
https://www.bilibili.com/read/cv19442832/https://www.cnblogs.com/WH-Work/p/15874391.html
- uniapp 小程序微信登录
害的人
vue小程序
啥也不说先上效果图html代码申请获取以下权限获得你的公开信息(昵称,头像、地区等){{loginInfo.openid!=""&&loginInfo.openid!=undefined?"已授权":"小程序授权"}}js代码import{mapMutations}from'vuex'exportdefault{data(){return{code:"",SessionKey:'',encrypt
- 安装数据库首次应用
Array_06
javaoraclesql
可是为什么再一次失败之后就变成直接跳过那个要求
enter full pathname of java.exe的界面
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe!
注意第一次,使用SQL D
- Weblogic Server Console密码修改和遗忘解决方法
bijian1013
Welogic
在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。
一.修改Console密码
打开weblogic控制台,安全领域 --> myrealm -->&n
- IllegalStateException: Cannot forward a response that is already committed
Cwind
javaServlets
对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。 示例代码:
protected void doPost() {
if (someCondition) {
sendRedirect();
}
forward(); // Thi
- 基于流的装饰设计模式
木zi_鸣
设计模式
当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。
自定义的类成为装饰类
模仿BufferedReader,对Reader进行包装,体现装饰设计模式
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系
装饰类因为增强已有对象,具备的功能该
- Linux中的uniq命令
被触发
linux
Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。
AD:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个
- 正则表达式Pattern
肆无忌惮_
Pattern
正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。
例如,我们需要对QQ号码格式进行检验
规则是长度6~12位 不能0开头 只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14}
&nbs
- Oracle高级查询之OVER (PARTITION BY ..)
知了ing
oraclesql
一、rank()/dense_rank() over(partition by ...order by ...)
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句:
select e.ename, e.job, e.sal, e.deptno
from scott.emp e,
(se
- Python调试
矮蛋蛋
pythonpdb
原文地址:
http://blog.csdn.net/xuyuefei1988/article/details/19399137
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:
http://www.ibm.com/d
- webservice传递自定义对象时函数为空,以及boolean不对应的问题
alleni123
webservice
今天在客户端调用方法
NodeStatus status=iservice.getNodeStatus().
结果NodeStatus的属性都是null。
进行debug之后,发现服务器端返回的确实是有值的对象。
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的
- java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针
百合不是茶
C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作:
定义一个指针p来指向a的地址(&是地址符号):
- Eclipse打不开,提示“An error has occurred.See the log file ***/.log”
bijian1013
eclipse
打开eclipse工作目录的\.metadata\.log文件,发现如下错误:
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai
- spring aop实例annotation方法实现
bijian1013
javaspringAOPannotation
在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut
AdviceMethods.jav
- [Velocity一]Velocity语法基础入门
bit1129
velocity
用户和开发人员参考文档
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html
注释
1.行级注释##
2.多行注释#* *#
变量定义
使用$开头的字符串是变量定义,例如$var1, $var2,
赋值
使用#set为变量赋值,例
- 【Kafka十一】关于Kafka的副本管理
bit1129
kafka
1. 关于request.required.acks
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0,
0表示即不进行确认即返回。
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中
-1表示根据指定的最少Partition确认后才返回,这个在
Th
- lua统计nginx内部变量数据
ronin47
lua nginx 统计
server {
listen 80;
server_name photo.domain.com;
location /{set $str $uri;
content_by_lua '
local url = ngx.var.uri
local res = ngx.location.capture(
- java-11.二叉树中节点的最大距离
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class MaxLenInBinTree {
/*
a. 1
/ \
2 3
/ \ / \
4 5 6 7
max=4 pass "root"
- Netty源码学习-ReadTimeoutHandler
bylijinnan
javanetty
ReadTimeoutHandler的实现思路:
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如
private final ChannelHandler timeoutHandler =
new ReadTim
- jquery验证上传文件样式及大小(好用)
cngolon
文件上传jquery验证
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery1.8/jquery-1.8.0.
- 浏览器兼容【转】
cuishikuan
css浏览器IE
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:CSS里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
daizj
shell$#$?特殊变量
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:
$echo $$
运行结果
29949
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个
- 程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!
dcj3sjt126com
unix
翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。
KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原
- android Activity间List传值
dcj3sjt126com
Activity
第一个Activity:
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a
- tomcat 设置java虚拟机内存
eksliang
tomcat 内存设置
转载请出自出处:http://eksliang.iteye.com/blog/2117772
http://eksliang.iteye.com/
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
------------
- Android 数据库事务处理
gqdy365
android
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事
- Java 打开浏览器
hw1287789687
打开网址open浏览器open browser打开url打开浏览器
使用java 语言如何打开浏览器呢?
我们先研究下在cmd窗口中,如何打开网址
使用IE 打开
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709
使用火狐打开
D:\software\bin>cmd /c start firefox http://hw1287789
- ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件
justjavac
chromeGooglegoogle apichrome插件
Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice
由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧
- 进程VS.线程
m635674608
线程
资料来源:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点:
多进程模式最大
- Linux下安装MemCached
字符串
memcached
前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n
- java设计模式之--jdk动态代理(实现aop编程)
Supanccy2013
javaDAO设计模式AOP
与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。
&
- Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持
wiselyman
spring 4
2.1 默认方法(default method)
java8引入了一个default medthod;
用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展
使用default关键字
Spring 4.2支持加载在默认方法里声明的bean
2.2
将要被声明成bean的类
public class DemoService {