- python 写一个工具, 上传到 pypi
waterHBO
python开发语言
起因把自己的图片工具,整理为一个库,package,然后发布出去!就像是一个人喜欢搜集贝壳,现在整理一下,用一根线把好看的贝壳串起来,做成一个项链。整理记录是很有必要的。比如写一个pythonpackage.我之前明明做过(2022年)。项目代码:假设项目代码已经写好了,下面是打包发布的过程。1.修改下面setup.py中的内容,把各种名称改为自己的名字。#Alwaysprefersetuptoo
- 关于Python编辑器的一点感想
Python高效编程
在学习Python语言的过程中,我尝试了好几种Python编辑器,大略说说我的感受吧。现在,我的电脑里有三款Python编辑器或者是ide。首先最核心的自然是Pycharm编辑器,它支持断点调试和方便的包管理器并且稳定性高,是我开发复杂的Python程序的首选。然而,启动速度太慢,有时候明明只想写个小程序练练手,索引目录就要花上10多分钟。尤其是每当它把大把时间耗费在索引matlab目录时,我就有
- Ubuntu 16.04下Firefox版本更新
天蓝蓝23528
ubuntufirefox腾讯云
在Ubuntu16.04系统下更新Firefox浏览器到最新版本是一个相对直接但需要注意细节的过程。由于Ubuntu16.04是一个较旧的操作系统版本,其默认的软件包管理器apt可能无法提供最新版本的Firefox。因此,用户通常需要手动下载Firefox的最新版本并进行安装。以下是一个详细的步骤指南,帮助您在Ubuntu16.04系统下更新Firefox浏览器。一、准备工作备份当前Firefox
- PHP-FPM 配置文件详解
迷津幻渡
PHPphp服务器php-fpm
文章目录说明一、php-fpm.conf文件1.全局配置(GlobalOptions)2.进程池设置(PoolDefinitions)二、www.conf文件1.进程池基本设置+监听设置2.process(干嘛的?)3.进程管理器(processmanager,简称pm)4.FPM运行状态页面(FPMstatuspage)5.日志和请求6.其他总结1.初次安装时,需要更改或可以关注的配置项2.到底
- Class.forName(“com.mysql.cj.jdbc.Driver“)
河hehe
Mysqlmysql
Class.forName("com.mysql.cj.jdbc.Driver")这行代码间接地确保了JDBC驱动程序被注册到DriverManager中的方式,主要是通过JDBC驱动程序的内部实现机制来实现的。以下是具体的解释:1.JDBC驱动程序的静态代码块许多JDBC驱动程序(包括MySQL的JDBC驱动程序)在其主类中包含了静态代码块(staticblock)。在这个静态代码块中,它们会调
- 使用hutool实现http的调用
Clsrm
http网络协议网络
http的调用方式有很多我这里选取了hutool工具包的封装方法进行调用,超级方便!!!依赖:cn.hutoolhutool-all5.8.11调用方法,因为我要使用到AES加密所以方法里调用了其他方法packagecom.huixin.nursing.util;importcn.hutool.http.HttpRequest;importcom.alibaba.fastjson.JSONObje
- 利用electron和electron-builder把前端web项目生成桌面程序
shufan209
vueexe
这里写自定义目录标题设置淘宝镜像建立electron工程文件1main.js2package.json3index.html安装依赖安装electron安装electron-builder预览electron项目打包electron项目关于electron,有兴趣的可以百度了解一下。为什么要写这篇文章呢?因为百度到的相关教程几乎也是作者摸索出来,只知道怎么做,却没具体说为什么这样,而且没有总结,还
- Docker微服务实战Demo
ctrlcvKing
dockerdocker微服务容器
通过IDEA新建一个微服务模块通过dockerfile发布微服务部署到docker容器通过IDEA新建一个微服务模块新建一个springboot项目modulemvnpackage打成一个jar包通过dockerfile发布微服务部署到docker容器编写dockerfile构建镜像运行容器访问测试编写dockerfile##继承自镜像java8FROMjava:8##作者MAINTAINERch
- 仿华为车机功能之--修改Launcher3,增加横向滑动桌面空白处切换壁纸的功能
Kwanvin
AndroidLauncher3深度定制开发华为javaandroid
本功能基于Android13Launcher3需求:模仿华为问界车机,实现横向滑动桌面空白处,切换壁纸功能(本质只是切换背景,没有切换壁纸)。实现效果:实现思路:第一步首先得增加手势识别第二步切换底图,不切换壁纸是因为切换壁纸动作太大,需要调用到WallpaperManager,耗时且会触发应用activity重启原生系统有识别上滑与下滑的动作,那我们应该增加一个左滑和右滑的动作识别禁止上滑出所有
- Android13 Launcher3 锁定Hotseat栏,apk无法替换与生成文件夹
Hogan爱Android
Android13Launcher3客制化androidjava
1需求概述公司业务需要需要固定Hotseat栏的apk列表,使其不能被替换,固定几个apk,可以让用户快速使用,增加用户使用感。2实现功能核心类代码路径packages\apps\Launcher3\src\com\android\launcher3\DropTarget.javapackages\apps\Launcher3\src\com\android\launcher3\Workspace
- Android 13.0 Launcher3单层模式workspace中app列表页排序功能实现
安卓兼职framework应用工程师
android13.0Rom定制化系列讲解android排序app页面排序列表排序launcher3排序
1.概述在13.0的定制化开发中,对于Launcher3的功能定制也是好多的,而对于单层app列表页来说排序功能的开发,也是常有的功能这就需要了解加载app数据的流程,然后根据需要进行排序就可以了,接下来就来实现这个功能如图:2.Launcher3单层模式workspace中app列表页排序功能实现的核心类packages\apps\Launcher3\src\com\android\launch
- Android 10.0 状态栏系统图标显示分析
龙之叶
Androidframework技术android
SystemUI中StatusBar的图标控制器实现类为StatusBarIconControllerImpl,其继承了StatusBarIconController的接口,用于跟踪所有图标的状态,并将对应的状态发送给注册的图标管理器(IconManagers)。当我们在StatusBar中获取到它的实例后,还会将它传给PhoneStatusBarPolicy和StatusBarSignalPol
- kafka-生产者拦截器(SpringBoot整合Kafka)
小丁学Java
Kafkakafkaspringbootlinq生产者拦截器
文章目录1、生产者拦截器1.1、创建生产者拦截器1.2、KafkaTemplate配置生产者拦截器1.3、使用Java代码创建主题分区副本1.4、application.yml配置----v1版1.5、屏蔽kafkadebug日志logback.xml1.6、引入spring-kafka依赖1.7、控制台日志1、生产者拦截器1.1、创建生产者拦截器packagecom.atguigu.kafka.
- clickhouse集群搭建
颍天
clickhouse数据库
文章目录安装clickhouse修改集群配置文件启动clickhouse集群测试集群的可用性安装clickhouse本次用了4台服务器搭建clickhouse集群,使用rpm安装方式在4台服务器上安装clickhouse,步骤如下:sudoyuminstall-ycurlcurl-shttps://packagecloud.io/install/repositories/altinity/clic
- Java数据结构之邻接表
Monkey_Joker
Java数据结构图java数据结构邻接表
基本概念邻接表是由一个顺序存储结构的顶点表和多个链式存储的边表组成的。邻接表类描述边结点类packagecho6;/***邻接表边结点类*@authorasus**/publicclassArcNode{publicintadjVex;//存放与当前顶点邻接的顶点在图中的位置publicintvalue;//边的权值publicArcNodenextArc;//指向下一个边结点publicArcN
- python 打包docker 加入本地依赖
摩戈
pythondocker
生成requirements.txt文件pipfreeze>requirements.txt创建package_modules文件夹下载依赖到指定目录下pipinstall-rrequirements.txt-t.\package_modules\DockerfileFROMpython:3.9.11-alpine3.14#添加代码到容器内指定目录ADD./bin/code/bin#添加依赖包AD
- react脚手架配置代理总结
ST_MT
react脚手架配置代理总结方法一在package.json中追加如下配置"proxy":"http://localhost:5000"说明:优点:配置简单,前端请求资源时可以不加任何前缀。缺点:不能配置多个代理。工作方式:上述方式配置代理,当请求了3000不存在的资源时,那么该请求会转发给5000(优先匹配前端资源)方法二第一步:创建代理配置文件在src下创建配置文件:src/setupProx
- CentOS 安装 NVIDIA 相关软件包时出现依赖问题
淘气小姑娘
centoslinux运维
CentOS安装NVIDIA相关软件包时出现依赖问题1CentOS安装NVIDIA相关软件包时报错如下2解决方法1CentOS安装NVIDIA相关软件包时报错如下Error:Package:3:kmod-nvidia-latest-dkms-550.90.07-1.el7.x86_64(cuda-rhel7-x86_64)Requires:dkmsError:Package:3:nvidia-dr
- 统计字符串中每个单词出现的次数
淘气小姑娘
javamap
字符串"woaijavaabcjavaabcwo",统计字符串中每个单词出现的次数packagework;importjava.awt.RenderingHints.Key;importjava.util.HashMap;/**3.字符串"woaijavaabcjavaabcwo",统计字符串中每个单词出现的次数*/publicclassWork03_StringCount{publicstati
- 统计每个地区的人数
淘气小姑娘
统计每个地区的人数有List集合,集合中数据如下:Listlist=newArrayList();list.add("张三,北京");list.add("李四,上海");list.add("王五,北京");。。。。。。统计每个地区的人数packagework;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List
- 使用Map接口的实现类完成员工工资(姓名--工资)的摸拟
淘气小姑娘
javamap
5.使用Map接口的实现类完成员工工资(姓名–工资)的摸拟:key---姓名Stringvalue--工资Double1)添加几条信息2)列出所有的员工姓名3列出所有员工姓名及其工资4)删除名叫“Tom”的员工信息5)输出Jack的工资,并将其工资加1000元(通过取值实现)6)将所有工资低于1000元的员工的工资上涨20%(通过取值实现)packagework;importjava.util.H
- 基于 Vue 3 和 Element Plus 构建图书管理系统
前端第一深情
vue.js前端javascript
基于Vue3和ElementPlus构建图书管理系统本文将介绍如何使用Vue3和ElementPlus构建一个简单的图书管理系统。这个系统将包括以下功能:添加新书显示图书列表分页显示图书删除图书相关链接接口地址elementplus中文地址项目结构我们的项目结构如下:src/├──components/│└──BookManager.vue├──App.vue└──main.jsBookManag
- 常用的前端配置命令
一个萌新小土豆
vuenpm
npm测试:npm-v初始化项目:npminit-y会产生一个package.json文件安装模块:npmi模块名@版本号(版本号可以不写,不写默认为最新版本)参数参数:-g(全局安装)--save-dev(本地安装)--save(本地安装(开发依赖))删除模块:npmuninstall模块名参数清除缓存:npmcacheclear-fnrm安装:npminstallnrm-g查看版本号:nrm-
- 优化 Kubernetes 告警:配置 Alertmanager 区分处理不同级别的告警
ivwdcwso
运维kubernetes容器云原生告警监控Alertmanager
引言在Kubernetes环境中,有效的监控和告警系统对于维护应用程序的稳定性和可靠性至关重要。Alertmanager作为Prometheus生态系统中的一个关键组件,负责处理告警的路由、分组和发送。本文将详细介绍如何配置Alertmanager以区分处理不同严重级别的告警,从而实现更精细的告警管理。为什么需要区分处理不同级别的告警?在复杂的生产环境中,不同级别的告警往往需要不同的处理方式:严重
- 网络访问频繁的项目---ThreadManager(线程池管理类)
linuxMinx
Android源码分析Android面试多线程android线程池项目
一、先了解ThreadPoolExecutor这个类。线程池ThreadPoolExecutor继承自ExecutorService.是jdk1.5加入的新特性,将提交执行的任务在内部线程池中的可用线程中执行。构造函数ThreadPoolExecutor(intcorePoolSize,intmaximumPoolSize,longkeepAliveTime,TimeUnitunit,Blocki
- k8s笔记 | helm包管理
你的代码我的心
p2plinqgnu
什么是Helmkubenetes包管理器,是查找,分享和使用软件构件kubernetes的最佳方式;可以做什么从头开始创建新的chart将chart打包成归档(tgz)文件与存储chart的仓库进行交互与现有的kubernates集群中安装和卸载chart管理与Helm一起安装的chart的发布周期三个重要概念chart创建kubernates应用程序所必须的一组信息config包含了可以合并的c
- Debian常用包管理命令用法详解
码农飞飞
脚本语言工具使用debianlinux服务器包管理debuildaptdpkg
文章目录apt-get/apt-cacheaptdpkgdpkg-sourcedebuilddpkg和apt是两个不同的工具用于管理Debian系列Linux发行版上的软件包。dpkg是底层工具,负责直接安装、删除和管理软件包文件(.deb)。它不会自动处理软件包的依赖关系,需要用户手动处理。apt是一个高级工具,自动处理软件包依赖,能够从软件仓库中下载和安装软件包,进行更新和升级。apt依赖dp
- java线程池分段处理list集合
一亩尘埃
java线程池实例javalistjvm
java线程池分段处理list集合packagecom.chenva.main.util;importjava.util.*;importjava.util.concurrent.CountDownLatch;importjava.util.concurrent.ExecutorService;importjava.util.concurrent.Executors;publicclassThea
- Springboot 图片
Jonathan Star
springboot后端java
Springboot图片因为server.servlet.context-path:/api所以url是这个的时候http://127.0.0.1:9100/api/staticfiles/image/dd56a59d-da84-441a-8dac-1d97f9e42090.jpeg配置代码的前面的/api是不要写的packagecom.gk.study.config;importorg.spri
- 鸿蒙验证码封装
jian11058
harmonyos华为
sendCode(){if(this.checkPhone(this.phone)){CloudUserManager.sendVerifyCode(this.phone,()=>{Toast.show('验证码发送成功')})}}CloudUserManager:importcloud,{AGCAuthError,AuthUser}from'@hw-agconnect/cloud'import{
- 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