- vue3 实现文件上传
编程(变成)小辣鸡
vuevue
1、上传文件html上传文件 将文件拖到此处,或点击上传只支持pdf、doc、docx、png、jpg提交import{ref,reactive}from'vue'import{uploadImg}from'@/api/common.js';letuploadFile=ref(false);letfileList=ref([]);constupload=(val)=>{fileLis
- element ui plus 找不到bodyWrapper实现两个表格同步滚动的方法。
不二家大哥哥
前端vue.jsjavascript
mounted(){this.dom1=this.$refs.table1;this.dom2=this.$refs.table2;this.dom1.$el.addEventListener("mouseover",(e)=>{this.flag=false;//此处的flag判断是否主动滚动了当前tablethis.dom2.$el.addEventListener("mouseover",(
- Vue3+ element 实现导入导出
青柠97
vue.jsjavascript前端
一、导入功能相关代码分析相关变量定义importVisible:这是一个ref类型的响应式变量,用于控制导入对话框的显示与隐藏,初始值为false。当用户点击“导入”按钮时,会尝试将其值设为true来显示导入对话框,若出现异常则提示相应错误信息。file:同样是ref类型的变量,用于存储用户选择要上传的文件对象,后续在文件上传等操作中会以此文件对象作为基础数据进行处理。pre_import:ref
- C++智能指针编程实例
lixzest
c++开发语言
智能指针是C++11引入的重要特性,用于自动管理动态分配的内存,防止内存泄漏。下面介绍几种高级智能指针编程实例。1.共享所有权模式(shared_ptr)循环引用问题及解决方案#include#includeclassB;//前向声明classA{public:std::shared_ptrb_ptr;~A(){std::couta_ptr;//这里会导致循环引用~B(){std::cout();
- Elasticsearch 根据字段值去重前的个数过滤数据(qbit)
前言本文对Elasticsearch7.17适用假定有个ip类型的字段client_ip,需要根据字段值的个数过滤数据在query中使用script只能通过doc['client_ip']获取到去重后的个数研究发现使用runtime_mappings可以动态新建字段获取到不去重的个数示例创建索引PUTmy_index{"mappings":{"dynamic":false,"properties"
- python与wind和excel联动,调用wind接口【附源码】
棚鱼宴
python
一、python安装wind接口二、案例fromWindPyimportw#导入wind模块importxlwingsasxw#导入xlwings实现与excel联动app=xw.App(visible=False,add_book=False)excel=app.booksxw.App.display_alerts=Falsexw.App.screen_updating=False#启动wind
- C++智能指针概念理解的面试题
xgbing
[C/C++]c++机器学习人工智能自动驾驶
C++智能指针概念理解的面试题第一部分:基础概念解释std::unique_ptr和std::shared_ptr在以下方面的区别:所有权语义性能开销自定义删除器的存储方式是否支持数组类型答案:所有权语义:unique_ptr:独占所有权,不能复制,只能移动shared_ptr:共享所有权,通过引用计数管理,可以复制性能开销:unique_ptr:几乎无额外开销(等同于原始指针)shared_pt
- 若依vue版前端白名单处理
鱼见千寻
vue.js前端javascript
需求如下:需要直接访问系统某个界面并且不需要登录找到permission.js文件NProgress.configure({showSpinner:false});constwhiteList=['/login','/register'];router.beforeEach((to,from,next)=>{NProgress.start()在这个whiteList添加界面的url就可以直接访问并
- openmv入门(三)
做好自己吧!
openmv人工智能python嵌入式硬件opencv
一ApilTagimportsensor,time,image,math#设置摄像头sensor.reset()sensor.set_pixformat(sensor.RGB565)sensor.set_framesize(sensor.QQVGA)#分辨率,像素点sensor.set_auto_gain(False)sensor.set_auto_whitebal(False)sensor.se
- Windows下QT引用ffmpeg库
SpongBob^_^
ffmpegqt
Windows下QT引用ffmpeg库一、在官网中下载ffmpeg的Shared运行和Dev开发下载地址:https://ffmpeg.zeranoe.com/builds/注意:注意要通过QT编译环境确认是下载32位还是64位,否则会出现库和编译器位数不匹配的报错我的QT环境是32位,所以选择win-32bit二、在QT中配置ffmpeg文件新建qt项目,将dev解压,在源代码中新建lib文件夹
- Linux下QT如何调用ffmpeg库,Qt中使用ffmpeg--直接调用动态库 or 手动编译相关
刘妮卡
介绍下在Qt下直接调用官方下载的动态库以及自己编译成静态库等,另外关于ffmpeg怎么用算LGPL谁知道的话求告知直接使用动态库官网下载如果没有特殊要求,可以直接在ffmpeg官网下载编译好的库文件直接使用,自己编译还是相当麻烦的QAQ。选择自己操作系统相关的版本,下载shared和dev两个压缩包:官网下载Static包含的是静态编译的ffmpeg.exe,Shared包含的是ffmpeg的动态
- 在 Windows 系统中配置 FFmpeg 并集成到 Qt 项目
北极星在海里.
windowsffmpegqt
在Windows系统中配置FFmpeg并集成到Qt项目需要以下步骤:1.下载FFmpeg开发包步骤说明访问FFmpegWindows预编译包推荐从以下地址下载官方提供的预编译开发包(包含头文件和库文件):Gyan.devFFmpegBuilds选择ffmpeg-release-full-shared.7z(动态链接库)或ffmpeg-release-full-static.7z(静态链接库)。开发
- android以ini文件形式保存在内部存储_Android本地存储的几种方式
weixin_39869593
Android应用开发中,给我们提供了5种数据的存储方式1使用SharedPreferences存储数据2文件存储数据3SQLite数据库存储数据4使用ContentProvider存储数据5网络存储数据不同的业务逻辑,或者需求,用不同的实现方式,以下是这几中数据存储方式的说明用及法:第一种:使用SharedPreferences存储数据SharedPreferences是Android平台上一个
- uniapp:微信小程序胶囊「复制链接」灰色处理
dingcho
前端小程序uni-app微信小程序
在原生开发的小程序中默认是支持复制的但是在uniapp开发的小程序中无法复制(体验版与开发版都可以进行复制,但发布后不可)解决方法:methods:{onShareAppMessage:function(){//returncustomsharedatawhenusershare.},}这样即可,复制链接就能使用了;如果无效可以尝试在小程序后台开启对应的功能【在测试和模拟器中除了首页能点,其它必须
- vue3单张图片放大缩小拖拽功能
ikun在线敲打
vue.js前端javascript
此篇为单张,多张请移步多张实现的文章话不多说直接上代码import{ref,onMounted,onBeforeUnmount}from'vue'constboxRef=ref(null)constimgRef=ref(null)letx=0lety=0letisDragging=false//确保元素存在后再操作constgetImgElement=()=>{if(!imgRef.value){
- RPGMZ 游戏引擎如何与lua进行互相调用 初探
RPGMZ
游戏引擎lua开发语言RPGMZjavascript
functionReadTxt(file_name){letdata=file_name;if(StorageManager.isLocalMode()){data=StorageManager.fsReadFile(file_name);}else{constxhr=newXMLHttpRequest();xhr.open('GET',file_name,false);xhr.onreadyst
- RPGMZ游戏引擎 如何实现 加载本地txt文件
RPGMZ
游戏引擎前端javascriptRPGMZ
functionReadTxt(file_name){letdata=file_name;if(StorageManager.isLocalMode()){data=StorageManager.fsReadFile(file_name);}else{constxhr=newXMLHttpRequest();xhr.open('GET',file_name,false);xhr.onreadyst
- mysql引擎innodb与ndb比较_mysql存储引擎memory,ndb,innodb之选择
甜品专家
mysql的innodb和cluster的NDB引擎都支持事务,在有共同的特性外,也有不同之处:以mysqlclusterNDB7.3和MySQL5.6之InnoDB为例:ndb7.3基于mysql5.6,包括支持innodb1.1,因此可以在cluster里使用innodb表,但这些表不是集群的。MySQLClusterNDB存储引擎用分布式,shared-nothing的架构实现,这使其和in
- JS常用设计模式汇总
逆袭的菜鸟X
我的前端javascript设计模式开发语言
1、基于类的单例模式//PageManager.jsclassPageManager{constructor(config){if(!PageManager.instance){this.config=config;this.initialized=false;PageManager.instance=this;this.init();}returnPageManager.instance;}in
- 用JavaScript实现异步锁
某柚啊
JavaScriptjavascript前端开发语言
场景连续多次的响应时间不确定的异步请求,按请求顺序依次返回响应结果。代码classAsyncQueue{constructor(){this.queue=[];//请求队列this.isProcessing=false;//当前是否在处理请求}//添加请求到队列enqueue(asyncFunc){this.queue.push(asyncFunc);this.processQueue();//开
- 使用.detach()代替requires=False避免计算图错误
weixin_42319617
深度学习人工智能
解决对一个对象多次BP更新时造成的RuntimeError:youcanonlychangerequires_gradflagsofleafvariables.问题_解决对一个对象多次bp更新时造成的问题-CSDN博客代码中存在一个特征需要参与辅助损失的计算,由于需要反复进行反向传播更新,计算图容易出错,所以用.requires_grad_(False)替代.detach()对比如.(torch.
- jdbc插入时获取自增id号
大海无量波涛凶
javaweb
//2.进行插入方法publicbooleancharu(ImageImage){booleanflag=false;//1.先连接数据库Connectionconnection=getCon();PreparedStatementpst=null;Stringsql="INSERTINTOtb_banqiimgs(img_name,img_path)values(?,?)";Integerent
- freeswitch拨号规则-通话录音 详解
skyymrj
freeswitchfreeswitch
//拨号规则名称//匹配目标号码为任意数字//此处不是必须的录音文件属性里面的标题//此处不是必须的录音文件属性里面的时间//是否为立体声录音false为单声道//此处为录音文件路径以及格式为wav不填格式则为原始音频录音//是否接通后才进行录音//最小录音时间这里是1秒一般3秒以上录音才有意义//桥接的网关
- layui实现鼠标移入/移出时显示/隐藏tips
木心操作
layuilayuijavascript前端
layui实现鼠标移入/移出时显示/隐藏tips弹窗注:其它弹窗亦可按照此方法实现相同效果鼠标移入dom或tips区域,显示tips弹窗;鼠标移出dom或tips区域,隐藏tips窗口;鼠标移入移出layui.use('layer',function(){constlayer=layui.layer;lettimer_event,layer_tips,tips_show=false$('#box'
- 每日leetcode
XiaoyaoCarter
leetcode训练leetcode算法职场和发展c++二分查找
367.有效的完全平方数-力扣(LeetCode)题目给你一个正整数num。如果num是一个完全平方数,则返回true,否则返回false。完全平方数是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。不能使用任何内置的库函数,如sqrt。示例1:输入:num=16输出:true解释:返回true,因为4*4=16且4是一个整数。示例2:输入:num=14输出:false
- Python 的内置函数 int
Python内建函数列表>Python的内置函数intPython的内置函数int()是一个用于将其他数据类型转换为整数类型的重要函数。它具有以下详细特性:基本功能:将数字或字符串转换为整数语法:int(x,base=10)示例:int('123')#返回123int(12.34)#返回12参数说明:第一个参数可以是:数字(整数或浮点数)字符串(仅包含数字字符)布尔值(True转为1,False转
- 微信小程序在wxml文件中使用函数
浅箬
微信小程序日常问题总结小程序WXSwxml使用函数
这是微信小程序WXS使用链接https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/具体使用方法:1、在wxml中使用module.exports={isDouble:function(n){returnn>9?true:false}}直接在代码段中使用{{function.isDouble(item.number)
- C++vector<vector<bool>>实现细节
猫小九。
C++c++开发语言算法
C++vector实现细节std::vector>在C++中确实可以使用,但它有一个特殊的坑,主要是因为std::vector在标准库中是一个特化版本,它不是标准意义上的vector,也不是按布尔值直接存储true和false,而是进行了位压缩优化。总结一眼看懂:类型内部结构是否真正的true/false布尔值内存使用操作代价vector数组是4字节/元素快vector位图/位集(bitset-l
- CMake3.29入门之五——动态链接库使用(显式调用和隐式调用)
cs4m
C/C++/Shellc++
一、CMake3.29入门之五——动态链接库使用(显式调用和隐式调用)显式调用无需头文件Calculate.h,隐式调用需要详见二、准备mkdirv2SharedUser//项目文件夹mkdirbuild//生成文件夹mkdirinclude//头文件文件夹mkdirDll//动态库文件夹touchmain.cpp//main文件touchCMakeLists.txt//CMake配置文件//v2
- C++的智能指针
月殇_木言
C++c++算法开发语言
目录1.智能指针的应用场景2.内存泄漏3.智能指针的使用及原理3.1RAII3.2智能指针实例4.STL中的智能指针4.1.C++11和boost中智能指针的关系4.1.1Boost库的源起4.1.2智能指针4.2.std::auto_ptr4.3.std::unique_ptr4.4.std::shared_ptr4.4.1.使用及模拟实现4.4.2.循环引用问题4.5.std::weak_pt
- Maven
Array_06
eclipsejdkmaven
Maven
Maven是基于项目对象模型(POM), 信息来管理项目的构建,报告和文档的软件项目管理工具。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司
- ibatis的queyrForList和queryForMap区别
bijian1013
javaibatis
一.说明
iBatis的返回值参数类型也有种:resultMap与resultClass,这两种类型的选择可以用两句话说明之:
1.当结果集列名和类的属性名完全相对应的时候,则可直接用resultClass直接指定查询结果类
- LeetCode[位运算] - #191 计算汉明权重
Cwind
java位运算LeetCodeAlgorithm题解
原题链接:#191 Number of 1 Bits
要求:
写一个函数,以一个无符号整数为参数,返回其汉明权重。例如,‘11’的二进制表示为'00000000000000000000000000001011', 故函数应当返回3。
汉明权重:指一个字符串中非零字符的个数;对于二进制串,即其中‘1’的个数。
难度:简单
分析:
将十进制参数转换为二进制,然后计算其中1的个数即可。
“
- 浅谈java类与对象
15700786134
java
java是一门面向对象的编程语言,类与对象是其最基本的概念。所谓对象,就是一个个具体的物体,一个人,一台电脑,都是对象。而类,就是对象的一种抽象,是多个对象具有的共性的一种集合,其中包含了属性与方法,就是属于该类的对象所具有的共性。当一个类创建了对象,这个对象就拥有了该类全部的属性,方法。相比于结构化的编程思路,面向对象更适用于人的思维
- linux下双网卡同一个IP
被触发
linux
转自:
http://q2482696735.blog.163.com/blog/static/250606077201569029441/
由于需要一台机器有两个网卡,开始时设置在同一个网段的IP,发现数据总是从一个网卡发出,而另一个网卡上没有数据流动。网上找了下,发现相同的问题不少:
一、
关于双网卡设置同一网段IP然后连接交换机的时候出现的奇怪现象。当时没有怎么思考、以为是生成树
- 安卓按主页键隐藏程序之后无法再次打开
肆无忌惮_
安卓
遇到一个奇怪的问题,当SplashActivity跳转到MainActivity之后,按主页键,再去打开程序,程序没法再打开(闪一下),结束任务再开也是这样,只能卸载了再重装。而且每次在Log里都打印了这句话"进入主程序"。后来发现是必须跳转之后再finish掉SplashActivity
本来代码:
// 销毁这个Activity
fin
- 通过cookie保存并读取用户登录信息实例
知了ing
JavaScripthtml
通过cookie的getCookies()方法可获取所有cookie对象的集合;通过getName()方法可以获取指定的名称的cookie;通过getValue()方法获取到cookie对象的值。另外,将一个cookie对象发送到客户端,使用response对象的addCookie()方法。
下面通过cookie保存并读取用户登录信息的例子加深一下理解。
(1)创建index.jsp文件。在改
- JAVA 对象池
矮蛋蛋
javaObjectPool
原文地址:
http://www.blogjava.net/baoyaer/articles/218460.html
Jakarta对象池
☆为什么使用对象池
恰当地使用对象池化技术,可以有效地减少对象生成和初始化时的消耗,提高系统的运行效率。Jakarta Commons Pool组件提供了一整套用于实现对象池化
- ArrayList根据条件+for循环批量删除的方法
alleni123
java
场景如下:
ArrayList<Obj> list
Obj-> createTime, sid.
现在要根据obj的createTime来进行定期清理。(释放内存)
-------------------------
首先想到的方法就是
for(Obj o:list){
if(o.createTime-currentT>xxx){
- 阿里巴巴“耕地宝”大战各种宝
百合不是茶
平台战略
“耕地保”平台是阿里巴巴和安徽农民共同推出的一个 “首个互联网定制私人农场”,“耕地宝”由阿里巴巴投入一亿 ,主要是用来进行农业方面,将农民手中的散地集中起来 不仅加大农民集体在土地上面的话语权,还增加了土地的流通与 利用率,提高了土地的产量,有利于大规模的产业化的高科技农业的 发展,阿里在农业上的探索将会引起新一轮的产业调整,但是集体化之后农民的个体的话语权 将更少,国家应出台相应的法律法规保护
- Spring注入有继承关系的类(1)
bijian1013
javaspring
一个类一个类的注入
1.AClass类
package com.bijian.spring.test2;
public class AClass {
String a;
String b;
public String getA() {
return a;
}
public void setA(Strin
- 30岁转型期你能否成为成功人士
bijian1013
成功
很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人
- [Velocity三]基于Servlet+Velocity的web应用
bit1129
velocity
什么是VelocityViewServlet
使用org.apache.velocity.tools.view.VelocityViewServlet可以将Velocity集成到基于Servlet的web应用中,以Servlet+Velocity的方式实现web应用
Servlet + Velocity的一般步骤
1.自定义Servlet,实现VelocityViewServl
- 【Kafka十二】关于Kafka是一个Commit Log Service
bit1129
service
Kafka is a distributed, partitioned, replicated commit log service.这里的commit log如何理解?
A message is considered "committed" when all in sync replicas for that partition have applied i
- NGINX + LUA实现复杂的控制
ronin47
lua nginx 控制
安装lua_nginx_module 模块
lua_nginx_module 可以一步步的安装,也可以直接用淘宝的OpenResty
Centos和debian的安装就简单了。。
这里说下freebsd的安装:
fetch http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar zxvf lua-5.1.4.tar.gz
cd lua-5.1.4
ma
- java-14.输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字
bylijinnan
java
public class TwoElementEqualSum {
/**
* 第 14 题:
题目:输入一个已经按升序排序过的数组和一个数字,
在数组中查找两个数,使得它们的和正好是输入的那个数字。
要求时间复杂度是 O(n) 。如果有多对数字的和等于输入的数字,输出任意一对即可。
例如输入数组 1 、 2 、 4 、 7 、 11 、 15 和数字 15 。由于
- Netty源码学习-HttpChunkAggregator-HttpRequestEncoder-HttpResponseDecoder
bylijinnan
javanetty
今天看Netty如何实现一个Http Server
org.jboss.netty.example.http.file.HttpStaticFileServerPipelineFactory:
pipeline.addLast("decoder", new HttpRequestDecoder());
pipeline.addLast(&quo
- java敏感词过虑-基于多叉树原理
cngolon
违禁词过虑替换违禁词敏感词过虑多叉树
基于多叉树的敏感词、关键词过滤的工具包,用于java中的敏感词过滤
1、工具包自带敏感词词库,第一次调用时读入词库,故第一次调用时间可能较长,在类加载后普通pc机上html过滤5000字在80毫秒左右,纯文本35毫秒左右。
2、如需自定义词库,将jar包考入WEB-INF工程的lib目录,在WEB-INF/classes目录下建一个
utf-8的words.dict文本文件,
- 多线程知识
cuishikuan
多线程
T1,T2,T3三个线程工作顺序,按照T1,T2,T3依次进行
public class T1 implements Runnable{
@Override
 
- spring整合activemq
dalan_123
java spring jms
整合spring和activemq需要搞清楚如下的东东1、ConnectionFactory分: a、spring管理连接到activemq服务器的管理ConnectionFactory也即是所谓产生到jms服务器的链接 b、真正产生到JMS服务器链接的ConnectionFactory还得
- MySQL时间字段究竟使用INT还是DateTime?
dcj3sjt126com
mysql
环境:Windows XPPHP Version 5.2.9MySQL Server 5.1
第一步、创建一个表date_test(非定长、int时间)
CREATE TABLE `test`.`date_test` (`id` INT NOT NULL AUTO_INCREMENT ,`start_time` INT NOT NULL ,`some_content`
- Parcel: unable to marshal value
dcj3sjt126com
marshal
在两个activity直接传递List<xxInfo>时,出现Parcel: unable to marshal value异常。 在MainActivity页面(MainActivity页面向NextActivity页面传递一个List<xxInfo>): Intent intent = new Intent(this, Next
- linux进程的查看上(ps)
eksliang
linux pslinux ps -llinux ps aux
ps:将某个时间点的进程运行情况选取下来
转载请出自出处:http://eksliang.iteye.com/admin/blogs/2119469
http://eksliang.iteye.com
ps 这个命令的man page 不是很好查阅,因为很多不同的Unix都使用这儿ps来查阅进程的状态,为了要符合不同版本的需求,所以这个
- 为什么第三方应用能早于System的app启动
gqdy365
System
Android应用的启动顺序网上有一大堆资料可以查阅了,这里就不细述了,这里不阐述ROM启动还有bootloader,软件启动的大致流程应该是启动kernel -> 运行servicemanager 把一些native的服务用命令启动起来(包括wifi, power, rild, surfaceflinger, mediaserver等等)-> 启动Dalivk中的第一个进程Zygot
- App Framework发送JSONP请求(3)
hw1287789687
jsonp跨域请求发送jsonpajax请求越狱请求
App Framework 中如何发送JSONP请求呢?
使用jsonp,详情请参考:http://json-p.org/
如何发送Ajax请求呢?
(1)登录
/***
* 会员登录
* @param username
* @param password
*/
var user_login=function(username,password){
// aler
- 发福利,整理了一份关于“资源汇总”的汇总
justjavac
资源
觉得有用的话,可以去github关注:https://github.com/justjavac/awesome-awesomeness-zh_CN 通用
free-programming-books-zh_CN 免费的计算机编程类中文书籍
精彩博客集合 hacke2/hacke2.github.io#2
ResumeSample 程序员简历
- 用 Java 技术创建 RESTful Web 服务
macroli
java编程WebREST
转载:http://www.ibm.com/developerworks/cn/web/wa-jaxrs/
JAX-RS (JSR-311) 【 Java API for RESTful Web Services 】是一种 Java™ API,可使 Java Restful 服务的开发变得迅速而轻松。这个 API 提供了一种基于注释的模型来描述分布式资源。注释被用来提供资源的位
- CentOS6.5-x86_64位下oracle11g的安装详细步骤及注意事项
超声波
oraclelinux
前言:
这两天项目要上线了,由我负责往服务器部署整个项目,因此首先要往服务器安装oracle,服务器本身是CentOS6.5的64位系统,安装的数据库版本是11g,在整个的安装过程中碰到很多的坑,不过最后还是通过各种途径解决并成功装上了。转别写篇博客来记录完整的安装过程以及在整个过程中的注意事项。希望对以后那些刚刚接触的菜鸟们能起到一定的帮助作用。
安装过程中可能遇到的问题(注
- HttpClient 4.3 设置keeplive 和 timeout 的方法
supben
httpclient
ConnectionKeepAliveStrategy kaStrategy = new DefaultConnectionKeepAliveStrategy() {
@Override
public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
long keepAlive
- Spring 4.2新特性-@Import注解的升级
wiselyman
spring 4
3.1 @Import
@Import注解在4.2之前只支持导入配置类
在4.2,@Import注解支持导入普通的java类,并将其声明成一个bean
3.2 示例
演示java类
package com.wisely.spring4_2.imp;
public class DemoService {
public void doSomethin