- css-loader/style-loader/less-loader/sass-loader/postcss-loader各有什么作用,一次性说明白
iWangsd
css
大家都清楚在使用webpack构建前端项目时都会使用到sass-loader、less-loader、postcss-loader、css-loader、style-loader,但这些loader在其中起到什么作用呢?本篇主要阐述这些loader在打包中所扮演的角色。概述1、css-loader:加载.css文件的loader,会对@import和url()进行处理2、style-loader:
- tailwindcss在vue2中安装配置流程
Zeng
vue.jscss3
vue版本不一样配置也不一样tailwindcss官网v2当前node(16.17.0)vue-cli(5.0.0)1.安装指定依赖npminstalltailwindcss@npm:@tailwindcss/postcss7-compat@tailwindcss/postcss7-compatpostcss@^7autoprefixer@^92.初始化配置会自动生成一个tailwind.conf
- 浅谈PostCSS
三翼鸟数字化技术团队
前端效能提升postcss前端javascript
1.背景css的预处理器语言(比如sass,less,stylus)的扩展性不好,你可以使用它们已有的功能,但如果想做扩展就没那么容易。sass是很常用的css预处理器语言,在webpack中要使用它,需要安装sass-loader,而sass-loader又依赖于node-sass。大家知道node-sass很庞大,安装极其缓慢,经常安装失败。而且node-sass各版本对于node版本有严格限
- vue移动端适配postcss-px-to-viewport
我是七月
在之前有一种流行已久的移动端适配方案,那就是rem,我想下面这两句代码,有不少老移动端都不会陌生:constdeviceWidth=document.documentElement.clientWidth||document.body.clientWidth;document.querySelector('html').style.fontSize=deviceWidth/7.5+'px';没错,
- tailwindcss
readmancynn
前端css
什么是TailwindCSSTailwindCSS是一个可定制化的CSS框架,最大的特点是功能类优先,和我们知道的bootstrap,elementui,antd,veui等框架一样。将一些CSS样式封装好,用来加速我们开发的一个工具。简单理解TailwindCSS就是CSS的lodash,他是一个增强工具类,你可以用原子类的方式写样式,也可以基于PostCSS作为工具函数做Mixin。核心概念功
- CSS原子化
野槐
css前端
目录一、定义二、原子化工具2.1、tailwind2.1.1、以PostCss插件形式安装2.1.2、不依赖PostCss安装2.1.3、修改原始配置2.2、unocss三、优缺点3.1、优点3.2、缺点一、定义定义:使用一系列的助记词,利用类名来代表样式。二、原子化工具不想一个个找的话,就在这里直接翻译:CssToUnocss(to-unocss.netlify.app)2.1、tailwind
- 大前端-postcss安装使用指南
黑夜照亮前行的路
postcss
PostCSS是一款强大的CSS处理工具,可以用来自动添加浏览器前缀、代码合并、代码压缩等,提升代码的可读性,并支持使用最新的CSS语法。以下是一份简化的PostCSS安装使用指南:一、安装PostCSS在你的项目目录中,通过npm(NodePackageManager)来安装PostCSS。打开命令行窗口,输入以下命令:bash复制代码npminstallpostcss--save-dev这将把
- 【构建工具】PostCSS快速配置
古狼_guwolf
前端开发postcss前端javascript
1.安装依赖包npmi-Dpostscsspostcss-clinpmi-Dautoperfixerpostcss-preset-envnpmi-Dstylelintstylelint-config-standardnpmi-Dpostcss-pxtorem//执行命令npxpostcssstyle.css-odist.csspostcss//PostCSS核心包postcss-cli//Post
- 使用postcss-plugin-px2rem和postcss-pxtorem(postcss-px2rem)-px自动转换rem的配置方法-vue-cli3.0
JackieDYH
Vuepx2remvuepx转换remrempostcss-px2rem
在vue-cli3.0中使用postcss-plugin-px2rem插件插件的作用是自动将vue项目中的px转换为rempostcss-plugin-px2rem优势:因为postcss-plugin-px2rem这个插件配置选项上有exclude属性,它可以配置是否对某个文件夹下的所有css文件不进行从px到rem的转换。所以我们可以利用这个特性,把项目中的node_module文件夹排除掉。
- 【CSS】Vue2使用TailwindCSS方法及相关问题
SZnA1
css前端vue.js
一.安装1.npm安装TailwindCSSnpminstalltailwindcss@npm:@tailwindcss/postcss7-compat@tailwindcss/postcss7-compatpostcss@^7autoprefixer@^92.创建配置文件npxtailwindcssinit3.创建postcss.config.js文件//postcss.config.jsmod
- 移动端适配方案 postcss-px-to-viewport
有没有认真工作
postcssjavascript前端
安装npminstallpostcss-px-to-viewport--save-dev或yarnadd-Dpostcss-px-to-viewport根目录下新建postcss.config.js文件module.exports={plugins:{autoprefixer:{},'postcss-px-to-viewport':{viewportWidth:750,//视窗的宽度,对应的是我们
- webpack 中 loader 和 plugin 的区别
tangdou369098655
webpackwebpack
通俗点讲loader是转换,plugin是执行比转换更复杂的任务,比如合并压缩等loader:让webpack能够处理非js文件,然后你就可以利用webpack的打包能力,对它们进行处理。例如:css-loader、style-loader、postcss-loader、sass-loaderplugins:从打包优化和压缩,一直到重新定义环境中的变量.例如:uglify-webpack-plug
- vue中elementUI样式无法修改的问题 /deep/ >>>
小白快跑true
webpackscopedscss
最近在开发中发现了修改elementUI样式的时候,添加了scoped的组件无法修改的样式,去掉scoped就可以了。这里我们就先看一下scoped这个属性的作用以及原理。一:scoped的作用和原理scoped的作用:当标签有scoped属性时,它的CSS只作用于当前组件中的元素。这类似于ShadowDOM中的样式封装。它有一些注意事项,但不需要任何polyfill。它通过使用PostCSS来实
- 前端工程化之:webpack3-7(PostCss)
小李老笨了
前端工程化前端postcssjavascript
目录一、PostCss1.什么是PostCss2.安装3.配置文件4.插件5.postcss-preset-env(1)自动的厂商前缀(2)未来的css语法(3)变量(4)自定义选择器(5)嵌套(6)postcss-apply(7)postcss-color-function(8)[扩展]postcss-import(9)stylelint一、PostCss内容与webpack无关!!!1.什么是
- Vite之对CSS的处理方式及使用
小袁搬码
vue3Node.jsnpmcss前端ViteVue3
Vite之对CSS的处理方式及使用文章目录Vite之对CSS的处理方式及使用1.直接对CSS处理2.使用css预处理器less1.直接对CSS处理可直接导入css进行使用,而不需要任何配置定义样式文件:myStyle.cssbody{background-clor:red}导入css文件import"./css/myStyle.css"2.使用css预处理器less科普:PostCSS:是一个用J
- vuecli4里面使用rem
前端Z老师
1、安装两个插件屏幕自适应插件npmiamfe-flexible--save把px转成rem的插件只能在css文件里面写里面的npmipostcss-px2rem--save2、main.js引入importremfrom'amfe-flexible'Vue.use(rem)3、package.json中添加如下代码:"remUnit":75表示ui小姐姐给的图是按照750px这个尺寸设计的"po
- 手机端vue+vant+rem项目适配750px设计稿的配置
伍佰2017
手机端页面开发,使用vue,UI框架用vant,设计稿是750px,单位用remvant是按照375px设计稿开发,为单位的,如果配置根字体大小为37.5,设计稿就无法还原,配置75,vant组件就变小了。很是苦恼,经过一番搜索,按照如下配置.postcssrc.js文件,就可以完美解决问题module.exports=({file})=>{letisVant=file&&file.dirname
- 移动端适配
浅忆_0810
1.rem适配1.1安装postcss-plugin-px2rem(推荐),也可使用官网的postcss-pxtoremnpmipostcss-plugin-px2rem--save1.2postCss配置//vue.config.jsmodule.exports={css:{loaderOptions:{postcss:{plugins:[require('postcss-plugin-px2r
- 移动端适配问题解决方案
KIKIo_
前端javascript前端css
文章目录一、移动端适配1、什么是移动端适配2、认识视口3、移动端适配方案3.1媒体查询3.2js动态计算3.3使用库4、rem计算的方法4.1手动计算4.2通过less计算4.3postcss-pxtorem4.4利用vscode插件5、vh、vw单位换算一、移动端适配1、什么是移动端适配2、认识视口3、移动端适配方案3.1媒体查询Document@mediascreenand(min-width
- vue引入element-ui的css后报错
shaguamayi
ERRORFailedtocompilewith1errors15:24:02errorin./node_modules/
[email protected]@element-ui/lib/theme-chalk/index.cssModulebuildfailed:Error:NoPostCSSConfigfoundin:D:\文件\vue-slot-demo-master\vue-slot-de
- h5兼容性总结
大超-无痕
问题总结javascriptcsstypescript前端
在解决问题方面,尤其是在解决兼容性方面,兼容ios10以及Android5,做了些总结:CSS添加前缀,可以利用postcss-loader,新建postcss.config.js,添加‘autoprefixer’:{},配置;然后新建.browserslistrc文件,配置兼容浏览器,ios以及Android的版本范围。引入postcss-loader:use:['postcss-loader'
- 使用 postcss-cva 来生成 cva 方法吧
使用postcss-cva来生成cva方法吧使用postcss-cva来生成cva方法吧什么是cva封装示例组成参数postcss-cva的功能Css示例原子化设计注释参考生成cva函数Refers什么是cvacva全称为class-variance-authority,它是一个非常适合制作那种,创建控制Css变体方法的类库,它非常的契合像tailwindcss这类的原子化思想。在很多时候我们自己
- vue移动端适配(px转vw)postcss-px-to-viewport配置 安装postcss-px-to-viewport
如饥似渴的人
npminstallpostcss-px-to-viewport//postcss.config.js文件module.exports={plugins:{'postcss-px-to-viewport':{unitToConvert:'px',//需要转换的单位,默认为"px"viewportWidth:375,//视窗的宽度,对应的是我们设计稿的宽度viewportHeight:1334,//
- vue3的vite配置
A-超
vue.js
使用Vite快速构建Vue3+ts+pinia脚手架使用Vite快速构建Vue3+ts+pinia脚手架-51CTO.COM1、现把下面导入的4个npm插件运行完成npmadd-Dtersernpmivite-plugin-imagemin-Dnpmivite-plugin-compression-Dnpmipostcss-preset-env-D2、然后复制配置文件进入vite.config.t
- Vue项目启动webpack报错Module build failed: Error: No PostCSS Config found in......
HealerLZH
情景我使用vue-cli创建项目,然后想换个地方,就把除了node_modules以外的文件全部拷贝到另一个文件,想的重新npmrundev一下就可以。但是在原来位置就是可以正常展示的,但是在新文件里面就会报错Modulebuildfailed:Error:NoPostCSSConfigfoundin:/Users/***原因某个隐藏属性的配置文件没有拷贝。导致运行报错。建议默认打开win或者ma
- 关于vite5中postcss-px-to-viewport插件问题和require问题
_斯洛伐克
postcss前端javascript
1.vue3中不支持require,可以npmivite-plugin-require-transform--save-devimportrequireTransformfrom'vite-plugin-require-transform';exportdefaultdefineConfig({plugins:[vue(),requireTransform({fileRegex:/.js$|.vu
- 宁德烟草大屏问题与解决方法总结vue3+vite5
_斯洛伐克
javascript前端html
中css里添加postcss代码如下1.样式总结:1.非标准屏幕时要完整展示大屏内容当大屏不是1920*1080屏幕时,两侧可以滑动。当1920*1080正常时,不会滑动,可以设置高度和滚动。91和35分别是我的头部和尾部高度。同时配合postcsspxtoviewport8plugin插件保证宽度自适应.left{width:436px;height:calc(100vh-91px-35px);
- vue工程中postcss的基本使用
insist_life
vue.jspostcss前端
首先我们要知道:在Vue.js项目中,@vue/cli-service已经将postcss-loader包含在内;所以我们在使用postcss中的插件的时候,我们只需要直接安装对应的插件即可在这边我们以postcss中的插件autoprefixer和pxtorem为例:注意:autoprefixer是vue/cli预先内置的,我们不需要安装;查看的方式如下:npmlistautoprefixer结
- vue全局自适应大小: postcss-pxtorem,vue2vue3通用适配
佛係老李
前端vue.jspostcssjavascript前端
1.安装postcss-pxtorem插件npminstallpostcss-pxtorem-D如果运行项目后报错PostCSSpluginpostcss-pxtoremrequiresPostCSS8.需要降低postcss-pxtorem的版本卸载默认安装的版本npmuninstallpostcss-pxtorem安装指定版本
[email protected]番外:不推荐pos
- Vue3自定义PostCss插件
*郑*
前端postcss前端javascript
Vue3自定义PostCss插件插件功能:实现自动转px为vw功能1.创建插件ts文件2.tsconfig.node.json引入插件3.vite.config.ts增加插件配置4.编写插件内容5.示例插件功能:实现自动转px为vw功能px固定单位,不会随着屏幕的变化而变化vhvw相对于视口高宽进行控制1.创建插件ts文件2.tsconfig.node.json引入插件"include":["vi
- 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