E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Spring学习
Spring学习
(八)spring整合struts2
一、spring框架对struts等表现层框架的整合原理:使用spring的ioc容器管理struts中用于处理请求的Action将Action配置成ioc容器中的bean延伸:spring对持久层框架/技术的整合原理(封装):提供模板类封装对应技术/框架的开发流程通过对模板类的使用,实现对传统开发流程的”代替”。二、整合方式:插件方式struts2为了实现对spring框架整合,也提供了一个插件
u011250851
·
2015-08-31 22:00
spring
框架
struts
spring学习
笔记---Jackson的使用和定制
前言:JAVA总是把实体对象(数据库/Nosql等)转换为POJO对象再处理,虽然有各类框架予以强力支持.但实体对象和POJO,由于"饮食习惯","民族特色","地域区别"等等差异,需要有些定制需求,使得能够完美的映射.这个性化定制需求,包括名称/时间格式/字段过滤等等约定.springmvc的学习笔记系列:•idea创建springmvc项目•面向移动端支持RESTAPI本文讲讲述如何把poj
mumuxinfei
·
2015-08-31 14:00
Spring学习
笔记(六) SpringMVC 3.1集成Spring Security 3.1入门
这篇算是一个入门文章,昨天看见有网友提问,springmvc集成springsecurity的时候出错,揣测了一下问题木有解决。我就帮忙给搭建了一个集成框架他说可以,他告诉我这样的文章网上少。今天我就分享在这里供入门学习。springmvc我木有用过,所以我们这里重点讲解如何集成springsecurity,springsecurity是一个非常好的开源权限框架(具体了解自己google,或者到s
lixuguang
·
2015-08-28 14:00
spring
mvc
Security
Sping
Spring学习
(七)spring整合mybatis
相对于mybatis的平常写法,spring中在使用mybatis时,不需要mybatis-config.xml配置,以及MybatisFactory工厂,在applicationContext.xml中配置即可。还是使用上次的案例:mybatis传送门->工厂bean不理解的点这里->附上applicationContext.xml: classpath:com/etoak/dao/
u011250851
·
2015-08-27 16:00
Spring学习
(六)spring整合注解形式的hibernate
上篇博客中谈到spring中如何整合普通形式的hibernate,这次我们来总结下如何整合注解形式的hibernate。我们知道在普通hibernate中,表与实体的映射关系是写在映射关系文件当中的,一个实体类对应一个映射关系配置文件。而在注解形式中是没有这个映射关系文件的,关系直接在实体类中通过注解的方式展现,所以写法上略有些不同。下面我们通过一个例子来看看他们的区别。还是使用上篇博客的例子,先
u011250851
·
2015-08-27 16:00
注解
spring
Hibernate
Spring学习
(五)spring整合hibernate
上一篇博客中讲到springdao层对jdbc的封装,用到了模板模式的设计思想。这篇我们来看看spring中的orm层对hibernate的封装,也就是所谓的spring整合hibernate。这里同样用了模板模式,将hibernate开发流程封装在ORM层提供的模板类HibernateTemplate中,通过在DAO中对模板类的使用,实现对传统hibernate开发流程的代替。一、先来看看Hib
u011250851
·
2015-08-26 22:00
spring
Hibernate
Spring学习
(四)spring中使用jdbc
springdao层中对jdbc进行了封装,使用模板模式的设计模式,通过ioc被动注入的方式将jdbcTemplate这个模板类注入到数据对象中,进行数据库操作。我们要在一个类中进行CRUD操作,首先要将jdbcTemplate这个模板类注入到数据对象类中,然后将DataSource这个类注入到jdbcTemplate,获取数据源。这样数据对象类就可以通过jdbcTemplate类中的方法进行数据
u011250851
·
2015-08-26 11:00
DAO
spring
模板模式
Spring学习
(三)ioc工厂bean深入理解
>我所理解的工厂bean:我们在使用ioc容器形成类之间的依赖关系,也就是在配置文件中配置bean的时候,一般是class指向的是实体bean类,通过ref将另外一个bean对象注入到这个类中。如下图示:这里圆圈里面的就是一个类,所以这个id为action的bean对象可以直接通过ref注入别的类中。然而当我们要注入一个接口,这个接口没有实现类的时候就不能这样操作了。因为无法实例化一个对象。这时我
u011250851
·
2015-08-25 22:00
spring
bean
IOC
ioc工厂bean
Spring学习
(二)spring ioc注入的三种方式
一、springioc注入有哪三种方式:asetter 原理:在目标对象中,定义需要注入的依赖对象对应的属性和setter方法;“让ioc容器调用该setter方法”,将ioc容器实例化的依赖对象通过setter注入给目标对象,封装在目标对象的属性中。 b构造器 原理:为目标对象提供一个构造方法,在构造方法中添加一个依赖对象对应的参数。ioc容器解析时,实例化目标对象时会自动调用构造方法,io
u011250851
·
2015-08-25 22:00
IOC注入
spring-ioc
Spring学习
(一)ioc理解
对Spring有所了解的都应该知道,spring贯穿始终的两个重要的思想,一个是IOC(控制反转),一个是DI(依赖注入),对于新手而言,这两个概念比较难理解,我用自己的想法来解释下。首先我们要知道在程序开发中为什么要使用spring框架。这里先引入两个概念:耦合性、侵入性。简单的讲:耦合性,在java中表现为类之间的关系,耦合性强说明类之间的依赖关系强;侵入性:框架对代码的侵入,比如你项目用了s
u011250851
·
2015-08-25 11:00
spring-ioc
spring学习
: spring mvc基础
前言: 接触springmvc的时间并不算长。在用这个web框架之前曾经接触过django,flask,asp.netmvc,play等框架。它们都是基于mvc模式的web框架,在基于model,view,controller互相分离和松耦合的约定基础上,它们的实现细节和一些使用方式有不少差别。这里结合mvc模式来分析一下springmvc里对请求处理的流程。并结合讨论做一个简单的示例。 mvc
frank-liu
·
2015-08-23 20:00
spring学习
笔记-spring本质
spring的初衷1.spring目的是简化企业级应用程序开发。2.应用程序是一组相互协作的对象来实现的,对象之间需要实现高内聚、低耦合,这就需要一个框架帮我们创建和管理这些对象之前的依赖关系。3.工厂类和生成器类也能帮我们创建和管理对象,但是我们又要额外的管理这些类,增加了我们的负担spring其他功能1.提供通用日志记录、性能统计、安全控制、异常处理等面向切面的能力2.与各种j2ee技术整合,
bitcarter
·
2015-08-23 11:00
spring
框架
Spring学习
笔记-spring基础知识概述
参考:网络资料。spring简介spring是目前最流行的开发框架,不论是web项目还是CS项目都能看到spring的身影,这是因为spirng提供了很多常用的组件的同时,不会强制你去使用它们。spring利用两大核心技术(DI依赖注入和AOP面向切面编程)实现应用程序各模块之间的高度解耦,spring封装了在开发过程中的很多通用模块,大大提高了应用的开发效率。spring的优点1)低侵入式设计,
u012302681
·
2015-08-22 21:00
spring
开发框架
Spring学习
笔记(七) Spring4新特性Web开发的增强
从Spring4开始,Spring以Servlet3为进行开发,如果用SpringMVC测试框架的话需要指定Servlet3兼容的jar包(因为其Mock的对象都是基于Servlet3的)。另外为了方便Rest开发,通过新的@RestController指定在控制器上,这样就不需要在每个@RequestMapping方法上加 @ResponseBody了。而且添加了一个AsyncRestT
lixuguang
·
2015-08-21 14:00
spring4
Spring学习
笔记(八) springMVC上传文件入门
在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的,这可以方便我们实现自己的文件上传。但如果你想使用springMVC对文件上传的解析器来处理文件上传的时候就需要在spring的applicationContext里面加上springMVC提供的MultipartResolver的申明。这样之后,客户端每次进行请求的时候,springMV
lixuguang
·
2015-08-21 12:00
spring
mvc
文件上传
spring学习
笔记
从spring容器中获取bean的两种方式ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); ChangeService bean = (ChangeService) ac.getBean("change");XmlBeanFactory factory = new XmlBeanFactory(new C
六月晨光
·
2015-08-17 22:00
spring获取bean
Spring学习
笔记-springMVC基于注解的控制器(Demo)
springmvc的整体运行流程图:基于@Controller和@RequestMapping是springmvc示例代码在web.xml中配置springmvc核心分发器DispatcherServlet....springmvcorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spri
IdIdIddIDId
·
2015-08-17 20:26
Spring
Spring学习
笔记-springMVC基于注解的控制器(Demo)
springmvc的整体运行流程图:基于@Controller和@RequestMapping是springmvc示例代码在web.xml中配置springmvc核心分发器DispatcherServlet.... springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation classp
u012302681
·
2015-08-17 20:00
spring
spring
mvc
Spring学习
笔记-springMVC基于注解的控制器(基本概念)
在spring2.5以前的版本中,实现一个mvc的Controller的唯一方法就是实现Controller接口,一个控制器只能响应一个客户端请求,在2.5以后的版本中,spring引入了注解,利用注解简化配置文件,利用注解实现bean的声明和依赖注入(DI),注解也同样被引入到spring的web模块springMVC中。使用基于注解的控制器有两个优点第一:一个控制器可以处理多个动作,而不是像以
u012302681
·
2015-08-16 21:00
spring
spring
Web
mvc
Spring学习
笔记二
第四章 Spring与数据库一、 DataSourceSpring提供了在Spring上下文配置数据源bean的多种方式包括l 通过JDBC驱动程序定义的数据源l 通过JNDI查找的数据源l 连接池的数据源1. 使用数据源连接池DBCP(database conection pool)是一个不错的连接池选择。其中的BasicDataSource的最常用的,因为它在Spring中易于配置。在Spri
kaidi205
·
2015-08-16 13:23
spring
spring配置
Spring教程
Spring学习
笔记二
第四章 Spring与数据库一、 DataSourceSpring提供了在Spring上下文配置数据源bean的多种方式包括l 通过JDBC驱动程序定义的数据源l 通过JNDI查找的数据源l 连接池的数据源1. 使用数据源连接池DBCP(database conection pool)是一个不错的连接池选择。其中的BasicDataSource的最常用的,因为它在Spring中易于配置。在Spri
kaidi205
·
2015-08-16 13:23
spring
spring配置
Spring教程
Spring学习
笔记一
《
Spring学习
笔记》第一章 装配Bean一、 声明bean1. 声明一个简单的bean从Spring3.0开始,提供xml和注解两种配置Bean的方式。
kaidi205
·
2015-08-16 13:23
spring
spring配置
Sping教程
Spring学习
笔记一
《
Spring学习
笔记》第一章 装配Bean一、 声明bean1. 声明一个简单的bean从Spring3.0开始,提供xml和注解两种配置Bean的方式。
kaidi205
·
2015-08-16 13:23
spring
spring配置
Sping教程
Spring学习
笔记-springMVC入门Demo
MVC模式很好的提高了Web项目的开发效率,同时也提高了系统的可维护性。基于mvc模式的Web层框架也是琳琅满目,从最开始的struts1、struts2(风靡n年),到现在的springMVC。这些框架的基本目的大致有两个:一个是简化web开发过程中的常见操作,入表单数据的封装,校验,请求的处理,数据的回显,文件上传下载及安全性问题等;第二就是基于mvc模式,构建结构良好的应用程序。常见的web
u012302681
·
2015-08-16 07:00
spring
mvc
web开发
Spring学习
笔记之六(数据源的配置)
1.前言上一篇博客分析了,Spring中实现AOP的两种动态代理的机制,下面这篇博客,来讲解一下Spring中的数据源的配置。 2.DAO支持的模板类Spring提供了很多关于Dao支持的模板类,例如HibernateTemplate、JdbcTemplate等,下面以后者为例,来看一个Demopackagecom.test; importorg.springframework.jdbc.c
ZHOUCHAOQIANG
·
2015-08-14 08:00
Spring学习
笔记(九) Spring MVC之@RequestMapping 详解
引言:前段时间项目中用到了REST风格来开发程序,但是当用POST、PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为application/json,而且服务器端通过request.getReader()打出的数据里确实存在浏览器提交的数据。为了找出原因,便对参数绑定(@RequestParam、@RequestBody、@RequestHe
lixuguang
·
2015-08-12 17:00
spring
mvc
requestmapping
Spring学习
笔记(十) Spring MVC之@RequestParam @RequestBody @RequestHeader 详解
引言: 接上一篇文章,对@RequestMapping进行地址映射讲解之后,该篇主要讲解request数据到handlermethod参数数据的绑定所用到的注解和什么情形下使用; 简介: handlermethod参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主要讲解常用类型) A、处理requeturi部分(这里指uritemplate中variable,不含
lixuguang
·
2015-08-12 17:00
注解
spring
mvc
Spring学习
笔记五(JDKProxy和cglibProxy的区别)
1.前言上一篇博客讲解了一下Spring中的AOP,而这篇博客来剖析下Spring实现AOP的两种机制:JDKProxy和cglibProxy两种动态代理 2.JDKProxy动态代理JDK动态代理,为接口实现的对象创建代理。具体详见源码。packagecom.test; importjava.lang.reflect.InvocationHandler; importjava.lang.r
ZHOUCHAOQIANG
·
2015-08-12 09:00
Spring学习
笔记四(AOP中的通知参数和注解开发)
1.前言上一篇博客介绍了如何通过AOP来切入我们想实现的公共性的功能,这篇博客来讲一下,当我们拦截到方法后,如何来获取通知参数。这也是AOP的精髓所在,通过AOP可以实现偷梁换柱的功能。我们把原来要执行的方法的参数获取到,然后换一套参数执行。下面来跟着我看一下吧! 2.AOP的通知参数有时我们想通过AOP拦截到我们要加入通知的切点类的参数,通俗的说就像拿到拦截的方法的参数值,然后如果不合适的话
ZHOUCHAOQIANG
·
2015-08-11 15:00
Spring学习
笔记三(AOP中的那些事)
1.前言前两篇博客介绍了一下,Spring中的IOC容器,这篇来讲解一下Spring中的AOP的知识。 2.AOP基础知识2.1概念AOP是一种面向切面编程,一种软件工程的编程范式。AOP关注的是程序中的共性的功能,开发时,将共性功能抽取出来制作成独立的模块,此时原始代码中将不再具有这些被抽取出来的共性功能代码。因此加强了代码的复用性,同时程序开发时可以只考虑个性化功能,不需要考虑共性的功能。
ZHOUCHAOQIANG
·
2015-08-11 09:00
Spring学习
笔记二(Bean注入的几种方式)
1.前言上一篇博客从宏观上讲解了一下Spring的知识,下面这篇来着重讲解一下有关Bean注入的几种方式。2.Bean注入的几种方式2.1类构造器初始化这也是默认的方式,在上一篇博客中也有所体现。直接在applicationContext.xml配置文件中,配置Bean标签即可2.2静态工厂初始化工厂方法//静态工厂方法publicclassBean2Factory{//工厂方法publicsta
LuckyZhouStar
·
2015-08-10 14:46
Java学习
SSH框架
Spring学习
笔记二(Bean注入的几种方式)
1.前言上一篇博客从宏观上讲解了一下Spring的知识,下面这篇来着重讲解一下有关Bean注入的几种方式。 2.Bean注入的几种方式2.1类构造器初始化这也是默认的方式,在上一篇博客中也有所体现。直接在applicationContext.xml配置文件中,配置Bean标签即可 2.2静态工厂初始化工厂方法//静态工厂方法 publicclassBean2Factory{ //工厂方法
ZHOUCHAOQIANG
·
2015-08-10 14:00
Spring学习
笔记一(Spring简单介绍)
1.前言从今天起开始写几篇关于Spring的文章,来总结一下,近来的学习情况,也想与大家分享一下学习Spring的心得和体会。希望大家能够多多指正。 2.Spring简单介绍上图是有关Spring的整个架构图,从图中我们可以看出,Spring主要包括AOP、数据访问,WEB访问等几大块内容。Spring是一个基于JAVA的轻量级J2EE的应用框架。 那么Spring能干什么呢?目前我们看到市面
ZHOUCHAOQIANG
·
2015-08-09 22:00
Spring学习
笔记——Spring中lazy-init与abstract详解
Spring的懒加载的作用是为了避免无谓的性能开销,就是当真正需要数据的时候才去执行数据的加载操作。不仅仅在Spring中,我们在实际的编码过程中也应该借鉴这种思想,来提高我们程序的效率。首先我们看一段配置文件: 当IOC容器启动时,createService不会被实例化,而lendService会被实例化,但是有下面一种情况 当容器启动时,lendService会被实例化,但
fuyuwei2015
·
2015-08-09 19:00
spring
abstract
lazy-init
Spring学习
笔记-springMVC校验框架
输入校验是Web开发最重要的任务之一。SpringMVC作为当今最流行的MVC框架,自然也对输入校验做了很好的支持。在SpringMVC中可以用两种方式来进行输入校验1)利用SpringMVC自带的校验框架2)利用JSR303下面我们对着两种校验方式做详细的描述。Spring验证框架spring的验证框架入口为Validator接口,该接口的签名是这样的:publicinterfaceValida
u012302681
·
2015-08-08 12:00
spring
Spring学习
笔记-类型转换器
在日常的web开发中,数据类型转换再常见不过了。通过http向服务器发送的数据都是字符串,但是不论是VO、BO还是DO都不可能只有字符串。Spring是一个强大的集成框架,尤其是加入SpringMVC以后,所有类型转换器对于Spring来说就像“马云也需要吃米饭”一样,必不可少。Spring提供了两种类型的类型转换器:一种是Converter,另一种是Formatter。这两种类型转换器的共同点是
u012302681
·
2015-08-07 10:00
spring
spring
mvc
web开发
Spring学习
——Spring JDBC——事务
学生狗自学!做笔记用:事务: 百度百科:事务,一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit) 1、原子性 &nb
丶西红柿丿炒蛋
·
2015-08-06 05:00
Spring JDBC
Spring学习
心得(三)——注解装配
在前两篇文章中我大致介绍了Spring框架的搭建、配置文件注入、log4j日志配置和对数据库的操作,虽然利用这些东西我可以使用Spring构建web工程,但是丝毫感受不到Spring的优势所在,而且多了一大堆的配置文件需要编写。本文开始我则从优化WEB工程,简化程序员编码的角度来继续实战Spring。 第一步,检查需要的外包,本工程所依赖的jar包有:aopalliance、commons-l
hafuokas
·
2015-07-27 20:00
java
spring
Web
Spring学习
心得(二)——日志和数据库
上一篇介绍了Spring的基本配置,本节介绍使用Spring生成日志和操作数据库的实战。 第一步,配置spring的log4j日志。 1.引入log4j所需要的jar包,在上一篇博客的附件中包含log4j-1.2.15.jar,如果还没有引入,直接拷贝到“WebRoot/WEB-INF/lib/”中即可。 2.配置web.xml文件  
hafuokas
·
2015-07-24 11:00
spring
Spring学习
心得(一)
本人用Java做了不少的WEB工程,但都是用Java基本的servlet+DAO实现的,对几种web框架的认识算是小白级别。一直很想学习Spring框架的使用,但是网上的资料都是介绍Spring框架的优点,教程也繁杂臃肿,纯属备考模式,本人写这一系列博客就是为了和大家分享动手实战Spring框架时的一些经验和教训。 第一步,用eclipse建立一个普通的WEB工程,并在to
hafuokas
·
2015-07-24 11:00
spring
Spring学习
笔记(一)
SpringIoC容器初始化:Resource的定位,即BeanDefinition的资源定位,由ResourceLoader通过统一的Resource接口来完成。BeanDefinition可以有不同的存在形式,比如,FileSystemResource,ClassPathResourceBeanDefinition的载入,把用户定义好的Bean表示成IoC容器的内部数据结构,这个内部数据结构就
kinoo
·
2015-07-23 10:00
spring
Spring学习
之声明式事务处理实例(DriverManagerDataSource注入)
首先建立helloDao.java用来处理数据packagecom.gc.action; importjavax.sql.DataSource; importorg.springframework.jdbc.core.JdbcTemplate; publicclassHelloDao{ privateDataSourcedataSource; privateJdbcTemplatejdbcT
tianjun2012
·
2015-07-22 14:00
Spring学习
笔记(三):项目发布以及一些简单配置
1、关于SpringMVC的WEB开发中的目录问题:在Spring软件的项目视图中看到的和部署到服务器上的目录结构是不一样的:下图是Spring软件的目录视图图1关于部署目录是可以设置的:右键项目–property–DeploymentAssembly(部署装配),然后就可以设置部署目录,将文件夹部署到对应的地方,如下图所示:下图是部署后的目录结构:关于部署,就是讲项目导出成war,然后修改后缀为
Jalon2015
·
2015-07-20 18:00
mvc
assembly
spring学习
笔记
一、概述 a>、核心技术 : IOC与AOP b>、开发为什么需要面向接口而不是实现 接口降低一个组件与整个系统的藕合程度,当该组件不满足系统需求时,可以很容易的将该组件从系统中替换掉,而不会对整个系统产生大的影响 c>、面向接口编口编程的难点在于如何对接口进行初始化,(使用工厂设计模式)
caoyong
·
2015-07-19 20:00
spring
Spring学习
(24)--- AOP之 Aspect instantiation models(aspect实例模式)特别说明
重要:schema-definedaspects只支持singletonmodel,即基于配置文件的aspects只支持单例模式
_Json
·
2015-07-11 13:00
Spring学习
(23)--- AOP之Introductions应用
简介允许一个切面声明一个实现指定接口的通知对象,并且提供了一个接口实现类来代表这些对象由中的元素声明该元素用于声明所匹配的类型拥有一个新的parents(因此得名)配置: publicvoidrecordUsage(){ usageTracked.incrementUseCount(); }UsageTrackedusageTracked=(UsageTracked)context.ge
_Json
·
2015-07-11 13:00
Spring学习
(22)--- AOP之Advice应用(下)
(六)Adviceparameters(advice带参数的情况)例子:修改MyAspect(添加around_init方法):packagecom.aop.schema; importorg.aspectj.lang.ProceedingJoinPoint; /** * *切面类 * */ publicclassMyAspect{ publicvoidbefore()
_Json
·
2015-07-09 23:00
Spring学习
(21)--- AOP之Advice应用(上)
前置通知(Beforeadvice)在某个连接点(joinpoint)之前执行的通知,但不能阻止连接点前的执行(除非它抛出异常)返回后通知(Afterreturningadvice)在某个连接点(joinpoint)正常完成后执行的通知抛出异常后通知(Afterthrowingadvice)在方法抛出异常退出时执行的通知后通知(After(finally)advice)当某个连接点退出的时候执行的
_Json
·
2015-07-09 22:00
Spring学习
(20)--- Schema-based AOP(基于配置的AOP实现) -- 配置切入点pointcut
pointcut(切断点)表达式:execution(public**(..)) execution(*set*(..)) execution(*com.xyz.service.AccountService.*(..)) execution(*com.xyz.service..(..)) execution(*com.xyz.service...(..)) within(com.xyz
_Json
·
2015-07-09 17:00
Spring学习
(19)--- Schema-based AOP(基于配置的AOP实现) --- 配置切面aspect
Spring所有的切面和通知器都必须放在一个内(可以配置包含多个元素),每个包含pointcut,advisor和apsect元素。ps:他们必须按照这个顺序进行声明:用来定义切入点,该切入点可以重用;:用来定义只有一个通知和一个切入点的切面;:用来定义切面,该切面可以包含多个切入点和通知,而且标签内部的通知和切入点定义是无序的;和advisor的区别就在此,advisor只包含一个通知和
_Json
·
2015-07-09 16:00
上一页
38
39
40
41
42
43
44
45
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他