- 学习笔记12——并发编程之线程之间协作方式
码代码的小仙女
高级开发必备技能javajvm开发语言
线程之间协作有哪些方式当多个线程可以一起工作去解决某个问题时,如果某些部分必须在其他部分之前完成,那么就需要对线程进行协调。共享变量和轮询方式实现:定义一个共享变量(如volatile修饰的布尔标志)。线程通过检查共享变量的状态来决定是否继续执行。publicclassTest{ privatestaticvolatilebooleanflag=false; publicstaticvoi
- docker命令实战运用部署服务
云原生的爱好者
docker容器运维
1.接上篇博文,先讲一下如何利用docker来对容器进行一个守护进程的启动,以及如何进入日期,如下:[root@cjr~]#dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEcentoslatest5d0da3dc97643yearsago231MB[root@cjr~]#dockerrun-td--nametestcentos:latest1b0cfe7658
- .net WebAPI返回xml、json格式
dengqiu2187
json
WebAPI返回xml、json格式简单示例usingSystem.Net.Http.Formatting;publicclassTestController:ApiController{publicstaticListlist=newList{newStudent{Name="张三",Age=25,Weight=153.5M},newStudent{Name="李四",Age=18,Weight
- 通过 Ollama 本地部署 DeepSeek-r1:1.5b 模型后,用 Python 调用推理并生成基于 pytest + PO 设计模式的 Playwright 自动化测试文件
Python测试之道
测试提效pythonpythonpytest设计模式
以下是完整的实现步骤和代码示例,详细说明了如何通过Python调用本地部署的DeepSeek-r1:1.5b模型,将功能测试用例转换为适合pytest和PageObject(PO)设计模式的Playwright自动化测试脚本。一、前提条件DeepSeek模型本地部署通过Ollama部署DeepSeek-r1:1.5b模型。Ollama提供的本地推理服务默认可通过HTTPAPI访问,地址通常为:ht
- 【氮化镓】基于SiC脉冲I-V系统研究Schottky型p-GaN HEMT正栅极ESD机制
北行黄金橘
氮化镓器件可靠性人工智能氮化镓GaNHEMTESD脉冲测试
这篇文章题为《InvestigatingForwardGateESDMechanismofSchottky-Typep-GaNGateHEMTsUsingaSiC-BasedHigh-SpeedPulsedI-VTestSystem》,发表于《IEEEElectronDeviceLetters》2024年7月刊。研究重点是探讨肖特基型p-GaN门极高电子迁移率晶体管(HEMTs)在正向门极人体模型
- Day08-综合练习
坚持学习每一天
Java基础java算法排序算法
importjava.util.Random;publicclasstest3{/*定义方法实现随机产生一个5位的验证码验证码格式:长度为s前四位是大写字母或者小写字母最后一位是数字*///方法://在一堆没有什么规律的数据中随机抽取//可以先把这些数据放到数组当中//再随机抽取一个索引publicstaticvoidmain(String[]args){char[]chs=newchar[52]
- java实体数据校验validation
秋风未动蝉已先觉
javajava
javax.validationvalidation-api1.1.0.Finalorg.hibernatehibernate-validator5.4.1.Final//实体publicclassEntity{@NotNull(message="name字段值不能为空")privateStringname;@Max(value=20,message="address最大长度为20")privat
- (十六)Java-File
Kyrie_Li
Java体系java开发语言
File类是Java中最基础的文件处理类,它用于表示文件和目录(文件路径)。File类不能直接进行读写操作,它仅用于描述文件或目录的元数据,比如文件名、路径、大小等。一、File类的构造方法1.通过提供文件的路径字符串来创建一个File对象。路径可以是绝对路径也可以是相对路径。Filefile=newFile("D:\\test\\555.txt");2.通过父目录路径和子文件/目录路径来创建Fi
- C#使用winform实现简单的梯形图指令编译和执行,带编译器和虚拟机代码
isyoungboy
c#java开发语言
gui效果图,gui代码太长了就不贴了编译结果LD,test3NOT,STORE,TMP1LD,test1OR,LD,TMP1OUT,test2LD,TMP1RST,testLD,TMP1OUT,test22LD,TMP1OUT,test4LD,TMP1CALL,放料编译器代码usingSystem.Collections.Generic;usingSystem.Linq;namespaceLDE
- python mongo异步操作_让python调用mongo读写速度加速10倍的方法
weixin_39867125
pythonmongo异步操作
1.把mongo读写封装成api2.在api初始化时保持数据库长链接;并且用线程每2分钟遍历一次所有的表并count一次importsysimporttimeimportpymongoimportjsonimportlogimporttracebackimportthreading//库名test,表名test_tableserver_list=['test-mongos.all.serv:636
- java 连接oracle 字符集_Java连接Oracle数据库,编码格式转换
东京客
java连接oracle字符集
学习东西不忘记下笔记:dbhelper类,各种数据库都合适。publicclassDBHelper{//mysql数据库//publicstaticfinalStringurl="jdbc:mysql://127.0.0.1:3306/test";//publicstaticfinalStringname="com.mysql.jdbc.Driver";//publicstaticfinalStr
- oracle字符类型
牛尚小又何妨
Oraclestudyoracle字符类型不同字符类型的比较
1、字符类型的种类有三种:varchar、varchar2、nvarchar2,并没有nvarchar这种类型2、不同类型的字符进行比较是否有风险测试--测试createtabletest002(fstring001varchar(200),fstring002varchar2(200),fstring004nvarchar2(200));--插入数据insertintotest002(fstri
- 【Android】setText调用导致的悬浮窗抖动问题
aaajj
Androidandroid
在Android13中,有这么一个bug,写一个可以拖到的悬浮窗,这个悬浮窗里有TextView,在拖到某个位置后,再调用TextView的setText方法,会发现出现了一个窗口动画,悬浮窗跳到了起始位置,从开始的位置又滑动到当前位置,看起来就是出现了一个跳动。试验例子packagecom.example.testfloatview;importandroid.app.Service;impor
- # DrissionPage小玩法
芋弦
python前端开发语言
前提是电脑上有谷歌浏览器九行获取DOUYI小视频fromDrissionPageimportChromiumPageimportreimporttimetab1=ChromiumPage(8888).latest_tabtab1.get(input('输入一个视频链接:'))login=tab1.ele('@class=douyin-login__closedy-account-close',ti
- Java实现二叉树
zhangpeng455547940
数据结构与算法设计Javajava开发语言
二叉树实现类importjava.io.*;publicclassBST{privatestaticclassBSTNodeimplementsSerializable{Comparabledata;BSTNodeleft;BSTNoderight;publicBSTNode(){}publicBSTNode(Comparabledata){this.data=data;}publicBSTNod
- vue scoped 原理解析
短暂又灿烂的
前端vuevue.jsjavascript前端
Vuescoped,原理,涉及到vue-loader的处理策略:一、首先呢,是VueLoaderPlugin策略:VueLoaderPlugin先获取了webpack原来的rules(即compiler.option.module.rule的比如test:/.vue$/规则),然后创建了pitcher规则,pitcher中的pitcher-loader可以通过resourceQuery识别引入文件
- 机器学习数学基础:29.t检验
@心都
机器学习人工智能
一、t检验的定义与核心思想(一)定义t检验(Student’st-test)是一种在统计学领域中广泛应用的基于t分布的统计推断方法。其主要用途在于判断样本均值与总体均值之间,或者两个独立样本的均值之间、配对样本的均值之间是否存在显著差异。例如,在教育研究中,可以通过t检验判断某个班级学生的平均成绩与全校学生的平均成绩是否有显著差异;在医学实验里,可用于比较实验组和对照组的患者某项生理指标的均值是否
- Android面试题之Kotlin Flow的collect和collectLatest有什么区别?
AntDreamer
kotlinandroidkotlin开发语言面试
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点在Kotlin协程库中,collect和collectLatest是用于收集流数据的两种不同操作。理解它们的区别,将有助于确保在处理流数据时的效率和行为符合预期。1.基本定义collect:是一个挂起函数,用于启动流的收集过程。收集过程会逐个处理每个发射的值,并从上游流向下游执行相
- android flow中collect和collectLatest的区别
stevenzqzq
android
嗯,我现在要分析用户的问题。用户问的是articleAdapter.loadStateFlow.collect{...}这段代码的含义,以及KotlinFlow中collect和collectLatest的区别。首先,我需要确认自己是否完全理解这两个问题,然后再逐步回答。首先,关于loadStateFlow.collect这段代码,用户可能是在使用Paging3库时遇到了相关代码,想了解它的作用。
- Centos保持运行Python程序
AIOT魔法师
FlaskCentospythonlinuxcentos
将工程部署到云端之后,使用ssh连接服务器输入命令启动Python程序后断开ssh后工程也就关了,针对上述情况我们需要对其进行设置,使用特殊指令运行程序,首先进入工程路径使用下面指令运行Python程序。nohuppython-uFlask_Server.py>test.log2>&1&之后断开连接后一直保持着运行。
- docker-compose部署项目
后端
Docker容器访问挂载文件权限问题问题描述在使用docker-compose部署项目时,yaml文件如下:version:'3'services:purchasing-contract-consumer:image:my-registry.com/consumer:latestenvironment:-TZ=Asia/Shanghai-app_env=prodrestart:alwayswork
- 手把手教你将 DeepSeek 集成到 Java 的 Spring Boot 项目中
Java_young
AIjavaspringboot开发语言
前面阳仔给大家介绍了如何将deepseek结合进入办公软件中,今天阳仔将详细介绍如何将DeepSeek集成到Java的SpringBoot项目中,让你的项目具备智能交互能力。一、准备工作1.注册DeepSeek账号并获取APIKey访问DeepSeek官网,点击右上角的“开放平台”,注册或登录账号。在左侧菜单中点击“APIKeys”,点击“创建APIKey”,为APIKey命名(如“test”),
- 大数据与hdfs创建文件夹
猫猫头有亿点炸
大数据hdfshadoop
注意事项:在hdfs上操作的文件,创建文件的时候注意他与linux是不一样的(模式如下:)hdfsdfs-mkdir/test1错误示例:否则,无论如何hdfsdfs-ls/test1/都没有文件的
- python系列【仅供参考】:python3 生成pdf 中文乱码问题处理
坦笑&&life
#pythonpythonpdf开发语言
python3生成pdf中文乱码问题处理python3生成pdf中文乱码问题处理1.首先上代码:2.乱码原因:3.安装字体库4.找一台安装了中文字体的服务器python3生成pdf中文乱码问题处理1.首先上代码:importpdfkit#urlPath是待导出的链接pdfkit.from_url(urlPath,'test.pdf',options={'encoding':'UTF-8'
- 拉格朗日插值多项式(Lagrange Interpolation)原理 + Python 代码
Illusionna.
python
原理部分见:拉格朗日插值—Homev1.2023.11文档https://illusionna.readthedocs.io/zh/latest/projects/Mathematics/Numerical%20Analysis/%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E6%8F%92%E5%80%BC/Lagrange.html代码依赖第三方库:1.numpy2
- React:Next,MUI 集成
dingcho
前端react.js前端前端框架Nextmui
在使用React、Material-UI(MUI)和Next.js进行开发时,通常需要集成一些必要的组件和库来构建一个现代化的Web应用。以下是一个基本的集成指南,帮助你快速上手。1.创建Next.js项目首先,使用create-next-app创建一个新的Next.js项目:npxcreate-next-app@latestmy-next-appcdmy-next-app2.安装Material
- 【javap反编译】
JavaGameServer
#JVMjava
1)javap-verboseTest.class//查看字节码(arthas的jd代替查看指定类的信息)对比:可以用arthas的jad代替,jad更强大
- 在 CLion 中使用 Boost.Test 进行 C++ 单元测试
獨梟
单元测试c++单元测试开发语言
1.安装Boost.TestBoost.Test是BoostC++库的一部分,因此需要安装完整的Boost库。方法1:使用包管理器安装(推荐)Windows(vcpkg)直接使用CLion集成的vcpkg安装boost-test:也可以通过命令来安装:gitclonehttps://github.com/microsoft/vcpkg.gitcdvcpkgbootstrap-vcpkg.batvc
- zookeeper CuratorFramework基本使用方法
angen2018
zookeeperzookeeper
参考:Zookeeper框架Curator使用-扎心了,老铁-博客园(cnblogs.com)1,引入依赖org.apache.zookeeperzookeeper3.4.8org.apache.curatorcurator-framework4.0.0org.apache.curatorcurator-recipes4.0.02,测试@Testpublicvoidmethod()throwsEx
- Linux(Centos 7.6)命令详解:unzip
豆是浪个
linuxcentos运维
1.命令作用unzip用于在一个ZIP存档压缩文件中进行陈列/检测/提取文件(list,testandextractcompressedfilesinaZIParchive);unzip命令是Linux系统中用于解压缩ZIP格式压缩文件的常用工具。它能够快速、方便地将ZIP文件解压到当前目录或指定目录。2.命令语法Usage:unzip[-Z][-opts[modifiers]]file[.zip
- 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