- web前端基础知识:表单标签
黄昏终结者
前端htmljavascript
一.input系列标签语法:form表单用来收集用户信息的input输入type类型type属性值:text文本password密码框radio单选框checkbox多选框file选择文件submit提交按钮reset重置按钮button普通按钮1.input系列标签-text文本框属性:placeholder占位符文本输入框语法:昵称:2.input系列标签-password密码框属性:plac
- ElementPlus表格相关操作大全-2
朝阳 Melo
前端javascript开发语言
网址:一个Vue3UI框架|ElementPlus(element-plus.org)https://element-plus.org/zh-CN/例:组件——Form表单典型表单参考代码:-OnlineactivitiesPromotionactivitiesOfflineactivitiesSimplebrandexposureSponsorVenueCreateCancelimport{re
- vue3+ts 解决el-form表单项不能双向绑定
知乎er
vue.jselementui前端javascriptecmascript
1、要注意的点Element-plus使用el-form必须配置ref和model属性,二者的值不能相同(在ElementUI中是可以相同的)。ref的值在声明的时候要引入FormInstance登录后复制1.//ts---importtype{FormInstance}from"element-plus";constformRef=ref()1.2.3.4.5.el-form的ref和model
- linux shell做界面,linux shell图形界面dialog详解
weixin_39747049
linuxshell做界面
dialogwidgets的选项,及使用方法calendar显示日历checklist...复选框form表单editboxdselectfselect文件选框,即平时上传本地文件时的那个gauge[]进度条,百分之多少的那个infobox弹出一个文本信息,不需要等待回应inputbox[]文本框inputmenumenumsgbox弹出一个文本信息,需要用户选择,并点击okpause暂停页pas
- flask通过表单自动产生get请求的参数、form表单实现POST请求的自动提交
网小鱼的学习笔记
Pythonflaskpython后端
通过表单自动产生get请求的参数相关代码如下:importflaskapp=flask.Flask(__name__)@app.route('/')deflogin():html='''flask表单实现get数据拼接usersex<inputtype="radio"</
- html标签之form表单标签,用于数据提交
网小鱼的学习笔记
Pythonhtml前端
table表单用户注册表单用户注册用户名:密码:性别:男女爱好:篮球足球游泳健身学历:专科本科研究生博士烈士照片:个人简介:结果展示
- 【微信小程序】4、SpringBoot整合WxJava生成小程序码
Asurplus
#微信小程序微信小程序springbootwxjava小程序码
1、官方文档获取小程序码,获取不限制的小程序码,获取小程序二维码2、获取小程序码该接口用于获取小程序码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制,详见获取小程序码。注意事项:如果调用成功,会直接返回图片二进制内容,如果请求失败,会返回JSON格式的数据。POST参数需要转成JSON字符串,不支持form表单提交。与createQRCode总共生成的码数量限制
- 前后端数据交互
Estelle_qi
ajaxajax
前后端数据交互前后端数据交互方式有三种:1、form表单2、ajax3、websocketform表单点击“提交”按钮,以post或get的方式提交到form表单action中的地址。此时就会向服务器发送一个请求,服务器会接受并处理提交过来的form表单,最后返回一个新的网页。get&post1、get将header和data一起发送,服务器返回200,只发送一次TCP请求;post则先发送hea
- Springboot接收 Form 表单数据的示例详解
weixin_44917365
springbootjavaspring
一、接收Form表单数据文章地址https://www.yii666.com/blog/298384.html1,基本的接收方法(1)下面样例Controller接收form-data格式的POST数据:importorg.springframework.web.bind.annotation.PostMapping;importorg.springframework.web.bind.annot
- 模拟 AJAX 提交 form 表单及请求头设置详解
magic 245
#ajax补充ajax前端javascript
一、post1.AJAX提交form表单的完整流程在Web开发中,使用AJAX模拟表单提交是非常常见的需求,它能实现页面无刷新数据提交。以下是完整实现方式://创建XMLHttpRequest对象constxhr=newXMLHttpRequest();//1.初始化请求(open必须在setRequestHeader之前)xhr.open("POST","/api/submit-form",tr
- Element Plus 组件库 - Form 表单针对数值类型的表单校验观察
我命由我12345
前端工程化javascript前端vue.jshtml5html开发语言js
Form表单针对数值类型的表单校验观察测试代码constmyConfigParams=reactive({ip:"",port:null,});constmyConfigRules=reactive({port:[{required:true,trigger:"blur",validator:(rule,value,callBack)=>{console.log("当前值:"+value);con
- post接口使用postman的form-data传参用java代码实现调用
dexi.Chi 攻城狮
java笔记经验分享
接口方只支持formdata方式调用不支持json,代码如下//form表单提交(form-data方式)publicstaticStringdoPostByForm(){StringstrResult="";//获取默认的client实例CloseableHttpClientclient=HttpClients.createDefault();//调用的URL路径Stringurl="http:
- vue使用elementUI表单出现在输入框表单回车刷新页面问题
浮桥
vue.jselementui前端
今天项目中出现一个bug,vue项目中使用elementUI表单出现了在输入框表单回车后输入框内容被清空。忽然想起来,之前带学生写项目的时候,出现了在列表页面中头部的条件筛选框只有一个输入框时回车会刷新页面,此时的输入框是放到一个form标签里的,当直接放到一个div里面,没有from时不会出现输入框内回车刷新页面的问题。查询资料发现,当一个form表单里只有一个输入框时,输入框内回车默认触发表单
- elementUI 输入框按回车刷新页面问题
前端小凯
elementuivue.js前端
分析原因:当el-form表单内只有一个el-input输入框时,且type为text类型时,在输入框内按回车就会触发表单的提交事件。而当el-form表单内有多个el-input输入框时,按回车不会执行任何操作。使用.prevent修饰符来阻止默认的表单提交行为:@submit.native.prevent注解添加到el-form标签上从而阻止了按下回车键时的页面刷新.native表示对一个组件
- el-form表单,按下回车后刷新页面的问题
编辑表单,按下回车后会刷新页面:一、原因当你的表单只有一项时,按下回车默认会提交表单,所以会出现刷新页面的现象二、解决设置@keyup.enter.native=""或@submit.native.prevent如上,指定回车或提交的事件,就可以避免刷新页面的问题。
- 前端文件下载常用方式详解
全栈陈序员
Web前端开发前端html5css3javascriptajaxchromesafari
在前端开发中,实现文件下载是常见的需求。根据不同的场景,我们可以选择不同的方法来实现文件流的下载。本文介绍三种常用的文件下载方式:使用axios发送JSON请求下载文件流使用axios发送FormData请求下载文件流使用原生form表单提交下载文件流一、使用Axios下载文件流(JSON格式参数)✅适用场景:适用于需要通过POST请求发送JSON数据给后端以获取文件流的情况。⚠️注意事项:设置r
- JavaScript 关于form表单多文件上传的3种方式,
山河故人163
javascript开发语言ecmascript
如果是直接上传文件,可以使用这种请上传:如果上传文件后不需要页面跳转,可以添加标签请上传:3,如果需要自定义上传按钮后的操作,可以使用axios技术请上传:importaxiosfrom'axios'exportdefault{data(){return{uName:''};},methods:{uploadFile(){constformData=newFormData();constfiles
- el-form表单规则验证
NM-BOY
vue.jsjavascript前端elementui
element表单中当有多个模块的表单时,这时候可以使用层级的嵌套规则HTML代码部分保单信息货运险信息货运险标的信息script代码部分constsearchParameters=ref({insurance:{name:"hello",},cargoInsurance:{name:"hello",},cargoInsuranceObject:{name:"hello",},});constru
- element-ui form表单,select多选时,初始自动校验问题解决
伟笑
Element-UIVant-UIjavascriptvue.js
使用el-select多选框配置表单校验时,如果绑定值为空字符串,表单中的多选下拉框会自动执行校验并提示红色文字提示,体验非常不好原因:form表单-select默认为空字符串解决方法:改为空数组即可解决多选的时候定义的变量要为数组
- ajax提交form表单数据举例
Java皇帝
前端ajaxajaxokhttp前端开发语言
目录一、HTML表单准备二、JavaScript文件(form.js)三、服务器端处理(SpringBoot示例)四、运行和测试五、总结在现代Web开发中,为了提供更流畅、无需页面刷新的用户体验,AJAX(AsynchronousJavaScriptandXML)技术被广泛应用于提交表单数据。本文将通过一个具体的示例,展示如何使用AJAX提交表单数据,并处理服务器返回的响应。一、HTML表单准备首
- react 使用form表单,输入框A 不能大于输入框B的时候
importReact,{useState}from'react';import{Form,Input,Button}from'antd';classDecimalCompareFormextendsReact.Component{formRef=React.createRef();handleSubmit=()=>{this.formRef.current?.validateFields().t
- HTML 表单
^小桃冰茶
html服务器前端
在Web开发领域,HTML表单是用户与网页进行交互的关键桥梁。通过表单,用户可以输入信息、提交数据,实现诸如注册、登录、反馈等功能。本文将深入探讨“HTMLform表单概述”和“form表单中的常用控件”,通过概念阐述、案例分析、知识图表和题目示范,助你全面掌握表单相关知识。一、HTMLform表单概述1.概念与理解HTML中的标签用于创建表单,它是一个包含各种表单控件(如文本框、按钮、单选框等)
- 解决element-ui 表单form回车会刷新整个页面问题
你的牧游哥
vueelement前端
问题描述:当form表单中input输入框触发键盘回车时,就会刷新页面原因:因为form表单把这个事件当成提交表单的操作解决方案:在el-form中写一个属性:
- vue项目中解决谷歌浏览器默认填充账号密码问题
慕芃
elementuichromevue.js
vue项目中解决谷歌浏览器默认填充账号密码问题前言解决1.普通input设置autocomplete="new-password"2.密码框设置autocomplete="on"前言在使用elementUI开发后台管理系统时,避免不了使用大量的el-form表单,但是如果chrome打开了自动填充密码并且保存过密码之后,再使用el-form的时候就会随机填充用户名密码(普通的输入框也会被随机填充用
- Python flask入门
勇敢牛牛@
前后端学习笔记pythonflask开发语言
Pythonflask入门一、路由1.1常规路由1.2动态路由1.3路由的其他高级用法二、变量规则2.1示例1:字符串类型(默认)2.2示例2:整数类型2.3示例3:路径类型三、自定义转换器3.1核心组件详解3.2工作流程详解四、form表单4.1表单的三大组成部分五、request请求六、重定向七、abort函数八、综合板块1、前后端数据交互1.1、通信基础1.2、后端代码1.3、前端代码2、j
- layui弹出层闪退,layer弹出层闪退,layer弹出层坑
米克源码
编程交流layu弹出层
这两天用layui的弹出层插件,发现两奇怪的问题:1、弹窗打开事件还未绑定到任何按钮,可是点击form表单中的按钮可以打开我定义的弹出层2、绑定弹出层到按钮,打开弹窗闪退后面发现真如参考博文所说:我的button也是在form表单中,原因:原来我在form表单中使用了Button按钮,点击的时候会触发默认事件,而form的action我没填,所以就是弹出层闪退!!解决办法:方法一:我将button
- 你想学的黑客(攻击)技术全在这了,一篇打包带走!
~小羊没烦恼~
web安全安全网络php数据库
大家好,今天给大家介绍一下,Web安全领域常见的一些安全问题。1、SQL注入SQL注入攻击的核心在于让Web服务器执行攻击者期望的SQL语句,以便得到数据库中的感兴趣的数据或对数据库进行读取、修改、删除、插入等操作,达到其邪恶的目的。而如何让Web服务器执行攻击者的SQL语句呢?SQL注入的常规套路在于将SQL语句放置于Form表单或请求参数之中提交到后端服务器,后端服务器如果未做输入安全校验,直
- vue+django前后端分离,如何解决csrf传输问题
yu11men
vue+djangovuedjangocsrf
使用django时,django框架都会自带csrf的验证功能,根据django的使用文档一般是在前端页面的form表单里添加{%csrf_token%}标签,当浏览器加载该页面时,django会解析模板页面,渲染{%csrf_token%}为一个input标签,如下图所示:html页面代码{%csrf_token%}.....django渲染后的html代码经过上面的分析,我们可以清晰的了解到,
- html实现表单数据收集,HTML表单
weixin_39957934
html实现表单数据收集
form表单有什么作用?有哪些常用的input标签,分别有什么作用?1.form表单用于接收不同类型的用户输入,用户提交表单时向服务器传输数据,从而实现用户与Web服务器的交互。2.常用input标签有:text定义用于文本输入的单行输入字段(默认宽度为20个字符);password定义密码字段;submit定义用于向表单处理程序提交表单的按钮;number用于应该包含数字值的输入字段;butto
- React-useImperativeHandle (forwardRef)
感谢上Di_123
前端面试题reactreact.js前端前端框架
我们会遇到这样的场景:某个组件想要暴露一些方法,来供外部组件来调用。例如我们在开发form表单的时候,就需要把设置表单值、重置值、提交等方法暴露给外部使用。会有如下代码:import{forwardRef}from'react';constForm=forwardRef(functionMyForm(props,ref){useImperativeHandle(ref,()=>{return{//
- 安装数据库首次应用
Array_06
javaoraclesql
可是为什么再一次失败之后就变成直接跳过那个要求
enter full pathname of java.exe的界面
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe!
注意第一次,使用SQL D
- Weblogic Server Console密码修改和遗忘解决方法
bijian1013
Welogic
在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。
一.修改Console密码
打开weblogic控制台,安全领域 --> myrealm -->&n
- IllegalStateException: Cannot forward a response that is already committed
Cwind
javaServlets
对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。 示例代码:
protected void doPost() {
if (someCondition) {
sendRedirect();
}
forward(); // Thi
- 基于流的装饰设计模式
木zi_鸣
设计模式
当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。
自定义的类成为装饰类
模仿BufferedReader,对Reader进行包装,体现装饰设计模式
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系
装饰类因为增强已有对象,具备的功能该
- Linux中的uniq命令
被触发
linux
Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。
AD:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个
- 正则表达式Pattern
肆无忌惮_
Pattern
正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。
例如,我们需要对QQ号码格式进行检验
规则是长度6~12位 不能0开头 只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14}
&nbs
- Oracle高级查询之OVER (PARTITION BY ..)
知了ing
oraclesql
一、rank()/dense_rank() over(partition by ...order by ...)
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句:
select e.ename, e.job, e.sal, e.deptno
from scott.emp e,
(se
- Python调试
矮蛋蛋
pythonpdb
原文地址:
http://blog.csdn.net/xuyuefei1988/article/details/19399137
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:
http://www.ibm.com/d
- webservice传递自定义对象时函数为空,以及boolean不对应的问题
alleni123
webservice
今天在客户端调用方法
NodeStatus status=iservice.getNodeStatus().
结果NodeStatus的属性都是null。
进行debug之后,发现服务器端返回的确实是有值的对象。
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的
- java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针
百合不是茶
C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作:
定义一个指针p来指向a的地址(&是地址符号):
- Eclipse打不开,提示“An error has occurred.See the log file ***/.log”
bijian1013
eclipse
打开eclipse工作目录的\.metadata\.log文件,发现如下错误:
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai
- spring aop实例annotation方法实现
bijian1013
javaspringAOPannotation
在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut
AdviceMethods.jav
- [Velocity一]Velocity语法基础入门
bit1129
velocity
用户和开发人员参考文档
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html
注释
1.行级注释##
2.多行注释#* *#
变量定义
使用$开头的字符串是变量定义,例如$var1, $var2,
赋值
使用#set为变量赋值,例
- 【Kafka十一】关于Kafka的副本管理
bit1129
kafka
1. 关于request.required.acks
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0,
0表示即不进行确认即返回。
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中
-1表示根据指定的最少Partition确认后才返回,这个在
Th
- lua统计nginx内部变量数据
ronin47
lua nginx 统计
server {
listen 80;
server_name photo.domain.com;
location /{set $str $uri;
content_by_lua '
local url = ngx.var.uri
local res = ngx.location.capture(
- java-11.二叉树中节点的最大距离
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class MaxLenInBinTree {
/*
a. 1
/ \
2 3
/ \ / \
4 5 6 7
max=4 pass "root"
- Netty源码学习-ReadTimeoutHandler
bylijinnan
javanetty
ReadTimeoutHandler的实现思路:
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如
private final ChannelHandler timeoutHandler =
new ReadTim
- jquery验证上传文件样式及大小(好用)
cngolon
文件上传jquery验证
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery1.8/jquery-1.8.0.
- 浏览器兼容【转】
cuishikuan
css浏览器IE
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:CSS里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
daizj
shell$#$?特殊变量
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:
$echo $$
运行结果
29949
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个
- 程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!
dcj3sjt126com
unix
翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。
KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原
- android Activity间List传值
dcj3sjt126com
Activity
第一个Activity:
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a
- tomcat 设置java虚拟机内存
eksliang
tomcat 内存设置
转载请出自出处:http://eksliang.iteye.com/blog/2117772
http://eksliang.iteye.com/
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
------------
- Android 数据库事务处理
gqdy365
android
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事
- Java 打开浏览器
hw1287789687
打开网址open浏览器open browser打开url打开浏览器
使用java 语言如何打开浏览器呢?
我们先研究下在cmd窗口中,如何打开网址
使用IE 打开
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709
使用火狐打开
D:\software\bin>cmd /c start firefox http://hw1287789
- ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件
justjavac
chromeGooglegoogle apichrome插件
Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice
由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧
- 进程VS.线程
m635674608
线程
资料来源:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点:
多进程模式最大
- Linux下安装MemCached
字符串
memcached
前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n
- java设计模式之--jdk动态代理(实现aop编程)
Supanccy2013
javaDAO设计模式AOP
与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。
&
- Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持
wiselyman
spring 4
2.1 默认方法(default method)
java8引入了一个default medthod;
用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展
使用default关键字
Spring 4.2支持加载在默认方法里声明的bean
2.2
将要被声明成bean的类
public class DemoService {