- 深度解析:使用 Headless 模式 ChromeDriver 进行无界面浏览器操作
亿牛云爬虫专家
爬虫代理python代理IPHeadlessChromeDriverChrome无界面爬虫代理代理IP动态加载
一、问题背景(传统爬虫的痛点)数据采集是现代网络爬虫技术的核心任务之一。然而,传统爬虫面临多重挑战,主要包括:反爬机制:许多网站通过检测请求头、IP地址、Cookie等信息识别爬虫,进而限制或拒绝访问。动态加载内容:一些页面的内容是通过JavaScript渲染的,传统的HTTP请求无法直接获取这些动态数据。为了解决这些问题,无界面浏览器(HeadlessBrowser)技术应运而生。无界面浏览器是
- 兄弟们,我的deepseek终于可以控制浏览器了:Part 1/n,含代码
几道之旅
Dify:智能体(Agent)工作流知识库全搞定几道之旅AI专栏VVVIP人工智能
文章目录前言helloworld前言其实,deepseek控制浏览器咱之前就发过,只不过当时没有想到这么好的标题,哈哈。所依赖的,依然是BrowserUse这个项目BrowserUse项目官网helloworld按照官网配置好环境后,只需新建一个python文件(例如,叫main.py?)然后运行即可。fromlangchain_openaiimportChatOpenAIfrombrowser_
- uniapp开发APP,主动连接mqtt,订阅消息
路痴先森
uni-app
一、安装依赖通过查阅资料,了解到现在mqtt.js库的最新版本已经是5,但是目前应该mqtt@3.0.0版本最为稳定,我项目开发中使用的也是mqtt@3.0.0版本npminstallmqtt@3.0.0参考插件:MQTT使用-模板项目-DCloud插件市场参考文档:GitHub-mqttjs/MQTT.js:TheMQTTclientforNode.jsandthebrowser二、封装一个工具
- ws协议与http协议的异同_Socket、WebSocket 、HTTP 与 TCP有什么区别
雪言AR纯
ws协议与http协议的异同
0、为什么需要WebSocket?Browser已经支持http协议,为什么还要开发一种新的WebSocket协议呢?我们知道http协议是一种单向的网络协议,在建立连接后,它只允许Browser/UA(UserAgent)向WebServer发出请求资源后,WebServer才能返回相应的数据。而WebServer不能主动的推送数据给Browser/UA,当初这么设计http协议也是有原因的,假
- QTextEdit达到指定行数自动清理+光标移动到末端(QT/C++)
ibuki_fuko
Qt与C++qt开发语言
标题2:QTextEdit/QPlainTextEdit/QLineEdit/QTextBrowser达到指定行数自动清理标题3:设置QTextEdit/QPlainTextEdit/QLineEdit/QTextBrowser的光标移动到文本末端标题4:设置QT文本框显示内容过多自动清理且光标移动到文本框末端1、使用场景:有大量数据实时刷新显示在QT的文本框相关组件时,需要清理部分之前的数据,并
- win11 labelme 汉化菜单
不喝可乐_
python开发语言
替换app.py,再重启#labelme汉化菜单#-*-coding:utf-8-*-importfunctoolsimportosimportos.pathasospimportreimportwebbrowserimportimgvizfromqtpyimportQtCorefromqtpy.QtCoreimportQtfromqtpyimportQtGuifromqtpyimportQtWi
- Dtcms修改PC站分享到手机端后访问打开手机版的当前页面
一包烟电脑面前做一天
webdtcms
dtcms框架中自带的功能是在手机端访问域名,自动跳转到手机版的首页。所以分享后自动跳转手机版当前页面需要自己调整,代码如下:在main目录下的common.js中修改JS判断即可:if(getCookie('m2wcookie')!='1'&&browserRedirect()){//PC跳转移动端varhostname=window.location.hostname;varpathname=
- 29道WebDriverIO面试八股文(答案、分析和深入提问)整理
守护海洋的猫
virtualenv面试javascript前端职场和发展
1.如何在WebDriverIO中截取屏幕截图?回答在WebDriverIO中截取屏幕截图非常简单。你可以使用browser.saveScreenshot方法来截取当前浏览器窗口的屏幕截图,并将其保存到指定的文件路径。以下是一个基本的使用示例:基本示例describe('截取屏幕截图示例',()=>{it('应该截取当前屏幕',async()=>{//打开网页awaitbrowser.url('h
- Playwright——爬取潘茄小说
花花 Show Python
pythonPlaywright网络爬虫
fromplaywright.sync_apiimportsync_playwright#导入Playwright同步API,用于浏览器自动化#使用上下文管理器启动Playwright,并确保资源正确释放withsync_playwright()asp:#创建一个Chromium浏览器实例,默认以无头模式运行(没有图形界面)browser=p.chromium.launch()#在当前浏览器上下文
- iQOO neo 5精简内置组件
weixin_38627000
安卓智能手机安卓
无他!系统自带了太多组件,都用不到,连打开都不曾打开过。下午整理一篇精简组件的列表,各自按照各自的需要进行精简哦。别盲目跟风,要不然手机使用会出问题。精简步骤使用任意刷机工具,开启手机的开发权限,然后adb连接删除组件列表如下:pmuninstall--user0com.android.VideoPlayervivoi视频pmuninstall--user0com.vivo.browservivo
- SpringMVC的工作原理
冰糖心书房
2025Java面试系列java
SpringMVC工作原理详解SpringMVC是Spring框架中用于构建Web应用程序的模块。它基于MVC(Model-View-Controller)设计模式,提供了一种清晰且可维护的方式来处理Web请求和生成响应。以下是SpringMVC工作原理的详细说明,包括各个组件的作用以及它们如何协同工作:1.用户发起请求(BrowserRequest):用户在浏览器输入URL,发起一个HTTP请求
- DocHub 开源项目安装与使用教程
羿漪沁Halbert
DocHub开源项目安装与使用教程DocHubУправлениеархитектуройкаккодом项目地址:https://gitcode.com/gh_mirrors/doch/DocHub1.项目目录结构及介绍DocHub项目的目录结构如下:dochub/├──browserslistrc#浏览器兼容性配置文件├──dockerignore#Docker忽略文件├──editorcon
- html显示base64的pdf,html - base64 embeded PDF files won't render in Chrome - Stack Overflow
weixin_33047553
SomePDFfileswon'trenderinChromebrowserbutwillrenderfineinFirefox.Allfilesrenderfineinallbrowsersifemededdirectly.Theconfusingpartisthattheproblemisonlyforsomefilesandnotall.Filesarestoredinafolderthat
- B/S结构和C/S结构是什么?它们之间有哪些区别和联系?
瑆箫
开发语言
B/S和C/S都是随着互联网的发展而出现的一种网络结构模式,而其用的非常广泛,在我们生活中都很常见。那它们到底是什么呢?接下来就详细的介绍一下B/S和C/S。B/S结构和C/S结构一、B/S结构B是英文单词“Browser”的首字母,即浏览器的意思;S是英文单词“Server”的首字母,即服务器的意思。B/S就是“Browser/Server”的缩写,即“浏览器/服务器”模式。B/S结构是随着互联
- toad for oracle xpert edition,TOAD —— 快速简便的Oracle 开发及管理
weixin_39943678
toadfororaclexpertedition
TOAD——快速简便的Oracle开发及管理TOAD®是的系列化Oracle开发和管理工具套件,包含集成化的开发、测试、管理与优化功能,可以大大提高数据库开发和管理人员的工作效率。轻松浏览和管理Oracle数据库TOAD的SchemaBrowser(模式浏览器)模块内置了方便易用的多页浏览功能,可以迅速查看和管理Oracle数据字典。通过点击特定对象,TOAD可以立即展示其相关信息,避免了逐层查看
- electron下载文件,弹窗选择下载路径,并通知下载进度
李富贵~
electronjavascript前端vue.js
1:在window.js中引入sessionimport{app,BrowserWindow,ipcMain,dialog,shell,session}from'electron';2:发送下载请求//在主进程监听渲染进程发送的'start-download'事件ipcMain.on('start-download',async(event,downloadUrl)=>{letwin=Browse
- Chrome内核解析 -- 背景篇:Chromium的多进程多线程构架
yunchao_he
Chromium/BlinkRenderingChromiummulti-process
转载请注明出处:http://blog.csdn.net/yunchao_he/article/details/41695497Chromium采用多进程构架,以DesktopChromium为例,它包括一个BrowserProcess(也称为UIProcess),一个或多个RenderProcess(也称为WebProcess),零个或一个GPUProcess,以及一个或多个NPAPIPlugi
- Dive Into Browser(一): 浏览器架构
草半
浏览器chromium浏览器架构IPC
DiveIntoBrowser(一):浏览器架构浏览器部件多进程架构RenderProcessBrowserProcess进程间通信IPCRenderProcess中的线程BrowserProcess中的线程底层浏览器进程对象高层浏览器进程对象消息通信实例Mouseclick消息的生命周期Setcursor消息的生命周期碎碎念参考资料随着Web技术的发展,现代浏览器已经具备了空前的复杂度,chro
- 火语言RPA--HTML标签过滤删除
oh,huoyuyan
rpa
【组件功能】:过滤删除处理内容中指定的HTML标签配置预览配置说明源HTML文本支持T或#默认FLOW输入项处理的对象,若为空,以上一个组件的输出做为源HTML文本,支持文本或表达式输入。删除标签按照列表中勾选的删除标签对源HTML文本内容中的html标签进行过滤删除操作。示例标签过滤描述获取网址https://www.huoyuyan.com/help/demo-pages/browsers/i
- Python Playwright 打包报错 Please run the following command to download new browsers
卡尔特斯
Pythonpython
想做一个浏览器自动化的小插件,本地安装了Playwright,测试可以正常打开浏览器自动化。但是在使用PyInstaller将Python代码打包成app/exe后,打开应用程序报错:playwright._impl._api_types.Error:Executabledoesn'texistat/Users/dengzemiao/Desktop/Project/python/dist/main
- 细读 React | React Router 路由切换原理
苹果酱0567
面试题汇总与解析课程设计springbootvue.jsjavamysql
2022北京冬奥会开幕式此前一直在疑惑,明明pushState()、replaceState()不触发popstate事件,可为什么ReactRouter还能挂载对应路由的组件呢?翻了一下history.js源码,终于知道原因了。源码假设项目路由设计如下:import{render}from'react-dom'import{BrowserRouter,Routes,Route}from'reac
- 【项目实战】计算点击率,如何将两个时间组成的List映射成一个Map返回给前端
本本本添哥
Z-Inbox1javalist前端
一、第一次遇到1.1说明在Java中,经常有两个需要关联的独立列表。换句话说,我们有两个列表,一个包含键,另一个包含值。browserList=[{"browser":40,"day":1696694400000},{
- Python web —— Selenium 库
五道口纳什
web
Selenium:硒,一种化学元素。Selenium是Python下第三方浏览器自动化工具。1.Firefox/Chromefromseleniumimportwebdriverbrowser=webdriver.Firefox()#browser=webdriver.Chrome()#browser此时就是一个浏览器对象;browser.get('http://www.baidu.com')as
- JDK1.5.0_22
sduzhijian
jdksunjavadownloadbrowsernetwork
ThankyouforyourinterestinSun'sJavaSEtechnologyandforhavingtakenthetimetoprovideyourinformation.TogainaccesstotherequestedJavaSEdownload,pleasevisitthefollowinglinkthroughyourbrowser(pleasenotethatthef
- 【实用技能】如何将 Web 视图添加到 Compose Multiplatform 应用程序
CodeCraft Studio
控件开发工具webchromedevtoolskotlin
ComposeMultiplatform是一个用于在桌面、网络和移动设备上创建用户界面的框架。它扩展了Android的JetpackCompose,并允许您使用熟悉的API为iOS和桌面开发应用。JxBrowser是一个商业Web视图组件。它基于Chromium,也可用于Swing、JavaFX和SWT。JxBrowser专为具有关键用例、截止日期和对第三方软件和供应商有高标准的公司而设计。该软件
- 根据浏览器语言判断wordpress访问不同语言的站点
wodrpress资源分享
wordpress前端javascripthtmlwordpress
根据当前用户使用的浏览器语言判断,让wordpress按语言访问不同语言的站点。wordpress多语言网站,分别访问的一个好办法。document.addEventListener('DOMContentLoaded',function(){varbrowserLang=navigator.language||navigator.userLanguage;varlang=browserLang.
- Win10系统下的EDGE浏览器启用IE模式
代先生.重庆
运维Windowsedge电脑运维
Win10系统下的EDGE浏览器目前已弃用IE内核,这样在访问某些较老的网站会有兼容性问题,本文记录了在EDGE浏览器中启用IE模式的操作方法。一、启用EDGE浏览器的IE模式要打开InternetExplorer模式,执行以下步骤:1、在MicrosoftEdge的地址栏中,键入edge://settings/defaultbrowser,然后单击Enter。(也可以点击浏览器-设置--默认浏览
- CEF多进程框架:CEF初始化进程过程
新兴AI民工
C++编程实战大杂烩CEFrender进程browser进程CEF多进程CEF进程创建
文章目录CEF如何创建进程CefExecuteProcess函数CEF如何创建进程CEF框架启动后,会有多个进程,之前也提到过,有Browser进程,Render进程,GPU进程等。比如CEF框架代码中的cefsimple,cefclient启动后都是如此。CEF框架是通过CefExecuteProcess函数来初始化线程相关内容的,在cefsimple代码如下://CEFapplications
- visual studio code打不开浏览器
Ares^o^
vscodeide编辑器
vscodeopen-in-browser打不开浏览器_openinbrowser打不开-CSDN博客查找浏览器的exe右键点击快捷方式,点击属性,在目标一项可以看到地址
- Selenium向下滑动
_苏歌
vscodePython爬虫seleniumpythonchrome
Python爬虫利用selenium滚动下滑#导入所需要包fromseleniumimportwebdriverimporttime#Chromewebdriver路径path='chromedriver.exe'browser=webdriver.Chrome(path)#url地址url='https://baidu.com'#访问地址browser.get(url)
- jdk tomcat 环境变量配置
Array_06
javajdktomcat
Win7 下如何配置java环境变量
1。准备jdk包,win7系统,tomcat安装包(均上网下载即可)
2。进行对jdk的安装,尽量为默认路径(但要记住啊!!以防以后配置用。。。)
3。分别配置高级环境变量。
电脑-->右击属性-->高级环境变量-->环境变量。
分别配置 :
path
&nbs
- Spring调SDK包报java.lang.NoSuchFieldError错误
bijian1013
javaspring
在工作中调另一个系统的SDK包,出现如下java.lang.NoSuchFieldError错误。
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.l
- LeetCode[位运算] - #136 数组中的单一数
Cwind
java题解位运算LeetCodeAlgorithm
原题链接:#136 Single Number
要求:
给定一个整型数组,其中除了一个元素之外,每个元素都出现两次。找出这个元素
注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间
难度:中等
分析:
题目限定了线性的时间复杂度,同时不使用额外的空间,即要求只遍历数组一遍得出结果。由于异或运算 n XOR n = 0, n XOR 0 = n,故将数组中的每个元素进
- qq登陆界面开发
15700786134
qq
今天我们来开发一个qq登陆界面,首先写一个界面程序,一个界面首先是一个Frame对象,即是一个窗体。然后在这个窗体上放置其他组件。代码如下:
public class First { public void initul(){ jf=ne
- Linux的程序包管理器RPM
被触发
linux
在早期我们使用源代码的方式来安装软件时,都需要先把源程序代码编译成可执行的二进制安装程序,然后进行安装。这就意味着每次安装软件都需要经过预处理-->编译-->汇编-->链接-->生成安装文件--> 安装,这个复杂而艰辛的过程。为简化安装步骤,便于广大用户的安装部署程序,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提供给大家下载,我们只需要根据自己的
- socket通信遇到EOFException
肆无忌惮_
EOFException
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:
- 基于spring的web项目定时操作
知了ing
javaWeb
废话不多说,直接上代码,很简单 配置一下项目启动就行
1,web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="h
- 树形结构的数据库表Schema设计
矮蛋蛋
schema
原文地址:
http://blog.csdn.net/MONKEY_D_MENG/article/details/6647488
程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,
- maven将jar包和源码一起打包到本地仓库
alleni123
maven
http://stackoverflow.com/questions/4031987/how-to-upload-sources-to-local-maven-repository
<project>
...
<build>
<plugins>
<plugin>
<groupI
- java IO操作 与 File 获取文件或文件夹的大小,可读,等属性!!!
百合不是茶
类 File
File是指文件和目录路径名的抽象表示形式。
1,何为文件:
标准文件(txt doc mp3...)
目录文件(文件夹)
虚拟内存文件
2,File类中有可以创建文件的 createNewFile()方法,在创建新文件的时候需要try{} catch(){}因为可能会抛出异常;也有可以判断文件是否是一个标准文件的方法isFile();这些防抖都
- Spring注入有继承关系的类(2)
bijian1013
javaspring
被注入类的父类有相应的属性,Spring可以直接注入相应的属性,如下所例:1.AClass类
package com.bijian.spring.test4;
public class AClass {
private String a;
private String b;
public String getA() {
retu
- 30岁转型期你能否成为成功人士
bijian1013
成长励志
很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人
- 【Velocity四】Velocity与Java互操作
bit1129
velocity
Velocity出现的目的用于简化基于MVC的web应用开发,用于替代JSP标签技术,那么Velocity如何访问Java代码.本篇继续以Velocity三http://bit1129.iteye.com/blog/2106142中的例子为基础,
POJO
package com.tom.servlets;
public
- 【Hive十一】Hive数据倾斜优化
bit1129
hive
什么是Hive数据倾斜问题
操作:join,group by,count distinct
现象:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成;查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。
原因:key分布不均匀
倾斜度衡量:平均记录数超过50w且
- 在nginx中集成lua脚本:添加自定义Http头,封IP等
ronin47
nginx lua csrf
Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com
Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。
location /{
- java-3.求子数组的最大和
bylijinnan
java
package beautyOfCoding;
public class MaxSubArraySum {
/**
* 3.求子数组的最大和
题目描述:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如输入的数组为1, -2, 3, 10, -4,
- Netty源码学习-FileRegion
bylijinnan
javanetty
今天看org.jboss.netty.example.http.file.HttpStaticFileServerHandler.java
可以直接往channel里面写入一个FileRegion对象,而不需要相应的encoder:
//pipeline(没有诸如“FileRegionEncoder”的handler):
public ChannelPipeline ge
- 使用ZeroClipboard解决跨浏览器复制到剪贴板的问题
cngolon
跨浏览器复制到粘贴板Zero Clipboard
Zero Clipboard的实现原理
Zero Clipboard 利用透明的Flash让其漂浮在复制按钮之上,这样其实点击的不是按钮而是 Flash ,这样将需要的内容传入Flash,再通过Flash的复制功能把传入的内容复制到剪贴板。
Zero Clipboard的安装方法
首先需要下载 Zero Clipboard的压缩包,解压后把文件夹中两个文件:ZeroClipboard.js
- 单例模式
cuishikuan
单例模式
第一种(懒汉,线程不安全):
public class Singleton { 2 private static Singleton instance; 3 pri
- spring+websocket的使用
dalan_123
一、spring配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.or
- 细节问题:ZEROFILL的用法范围。
dcj3sjt126com
mysql
1、zerofill把月份中的一位数字比如1,2,3等加前导0
mysql> CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL, -> day
- Android开发10——Activity的跳转与传值
dcj3sjt126com
Android开发
Activity跳转与传值,主要是通过Intent类,Intent的作用是激活组件和附带数据。
一、Activity跳转
方法一Intent intent = new Intent(A.this, B.class); startActivity(intent)
方法二Intent intent = new Intent();intent.setCla
- jdbc 得到表结构、主键
eksliang
jdbc 得到表结构、主键
转自博客:http://blog.csdn.net/ocean1010/article/details/7266042
假设有个con DatabaseMetaData dbmd = con.getMetaData(); rs = dbmd.getColumns(con.getCatalog(), schema, tableName, null); rs.getSt
- Android 应用程序开关GPS
gqdy365
android
要在应用程序中操作GPS开关需要权限:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
但在配置文件中添加此权限之后会报错,无法再eclipse里面正常编译,怎么办?
1、方法一:将项目放到Android源码中编译;
2、方法二:网上有人说cl
- Windows上调试MapReduce
zhiquanliu
mapreduce
1.下载hadoop2x-eclipse-plugin https://github.com/winghc/hadoop2x-eclipse-plugin.git 把 hadoop2.6.0-eclipse-plugin.jar 放到eclipse plugin 目录中。 2.下载 hadoop2.6_x64_.zip http://dl.iteye.com/topics/download/d2b
- 如何看待一些知名博客推广软文的行为?
justjavac
博客
本文来自我在知乎上的一个回答:http://www.zhihu.com/question/23431810/answer/24588621
互联网上的两种典型心态:
当初求种像条狗,如今撸完嫌人丑
当初搜贴像条犬,如今读完嫌人软
你为啥感觉不舒服呢?
难道非得要作者把自己的劳动成果免费给你用,你才舒服?
就如同 Google 关闭了 Gooled Reader,那是
- sql优化总结
macroli
sql
为了是自己对sql优化有更好的原则性,在这里做一下总结,个人原则如有不对请多多指教。谢谢!
要知道一个简单的sql语句执行效率,就要有查看方式,一遍更好的进行优化。
一、简单的统计语句执行时间
declare @d datetime ---定义一个datetime的变量set @d=getdate() ---获取查询语句开始前的时间select user_id
- Linux Oracle中常遇到的一些问题及命令总结
超声波
oraclelinux
1.linux更改主机名
(1)#hostname oracledb 临时修改主机名
(2) vi /etc/sysconfig/network 修改hostname
(3) vi /etc/hosts 修改IP对应的主机名
2.linux重启oracle实例及监听的各种方法
(注意操作的顺序应该是先监听,后数据库实例)
&nbs
- hive函数大全及使用示例
superlxw1234
hadoophive函数
具体说明及示例参 见附件文档。
文档目录:
目录
一、关系运算: 4
1. 等值比较: = 4
2. 不等值比较: <> 4
3. 小于比较: < 4
4. 小于等于比较: <= 4
5. 大于比较: > 5
6. 大于等于比较: >= 5
7. 空值判断: IS NULL 5
- Spring 4.2新特性-使用@Order调整配置类加载顺序
wiselyman
spring 4
4.1 @Order
Spring 4.2 利用@Order控制配置类的加载顺序
4.2 演示
两个演示bean
package com.wisely.spring4_2.order;
public class Demo1Service {
}
package com.wisely.spring4_2.order;
public class