如何去掉abator 去注释生成文件中讨厌的注释

如何去掉linux配置文件的注释行和空行 - 添信 - 博客园
随笔 - 9, 文章 - 0, 评论 - 0, 引用 - 0
1、使用grep -v "^#"& 来去掉注释行,其中:-v& 就是取相反的&& ^# 表示以#开头的行
eg. grep -v "^#" /etc/vsftpd/vsftpd.conf (也可以使用“&”来重写配置文件)
2、有时也会连同空行一起去掉,使用管道符来完成(^$表示空行& )
eg. grep -v "^#"& httpd.conf | grep -v "^$"& && vsftpd.conf
上面用了 2次 grep 过滤命令 ,也就是把空行和注解行过滤掉,再把剩下的内容追加保存为原
来的配置文件 vsftpd.conf& 这个时候就文件里的内容就没有注解行和空行了,,,,
3、备注:在更改配置文件时,建议先对配置文件做一下备份,对配置文件不熟悉的建议不要用这种方法,配置文件中的注解行还是有一定的帮助的。
cp& -a& httpd.conf& httpd.conf.bak
4、shell储备知识:
^一行的开始 ^d以开头的& ^..1 第三个为1的字符&& ^字符要放在匹配的字符前面&$一行的末尾 ^$ 表示空行 ^.$匹配一行一个字符的& $字符要放在匹配的字符后面&*匹配任意个字符& 包括0个字符 .表示单个字符&\可以屏蔽一个特殊的字符 \*\.pas 这里的*是特殊字符,这样就表示*.pas这个文件&逗号可以分割不同的匹配字符如[S,s]表示S或者s都可以&-表示一个范围,[1-9],[a-z],[A-Z]& [1-9 A-Z a-z]任意的字符或者数字&A\{2\}B 表示A出现了2次& AAB&A\{4,\}B 表示A至少出现4次 AAAAB,AAAAAB&A\{2,4\}B 表示A出现2-4次& AAB AAAB AAAAB&[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}& 0-999.0-999.0-999.0-999
cat server.conf |grep -v "^[#,;]" |grep -v "^$"1284人阅读
程序中的部分代码由abator自动生成,
dao及其daoimpl
package com.our311.demo.
import com.our311.demo.dao.model.TbU
import com.our311.demo.dao.model.TbUserE
import java.util.L
public interface TbUserDAO {
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
void insert(TbUser record);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
int updateByPrimaryKey(TbUser record);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
int updateByPrimaryKeySelective(TbUser record);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
List selectByExample(TbUserExample example);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
TbUser selectByPrimaryKey(Integer id);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
int deleteByExample(TbUserExample example);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
int deleteByPrimaryKey(Integer id);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
int countByExample(TbUserExample example);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
int updateByExampleSelective(TbUser record, TbUserExample example);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
int updateByExample(TbUser record, TbUserExample example);
package com.our311.demo.
import com.our311.demo.dao.model.TbU
import com.our311.demo.dao.model.TbUserE
import java.util.L
import org.springframework.orm.ibatis.support.SqlMapClientDaoS
public class TbUserDAOImpl extends SqlMapClientDaoSupport implements TbUserDAO {
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
public TbUserDAOImpl() {
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
public void insert(TbUser record) {
getSqlMapClientTemplate().insert("tb_user.abatorgenerated_insert",
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
public int updateByPrimaryKey(TbUser record) {
int rows = getSqlMapClientTemplate().update(
"tb_user.abatorgenerated_updateByPrimaryKey", record);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
public int updateByPrimaryKeySelective(TbUser record) {
int rows = getSqlMapClientTemplate().update(
"tb_user.abatorgenerated_updateByPrimaryKeySelective", record);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
public List selectByExample(TbUserExample example) {
List list = getSqlMapClientTemplate().queryForList(
"tb_user.abatorgenerated_selectByExample", example);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
public TbUser selectByPrimaryKey(Integer id) {
TbUser key = new TbUser();
key.setId(id);
TbUser record = (TbUser) getSqlMapClientTemplate().queryForObject(
"tb_user.abatorgenerated_selectByPrimaryKey", key);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
public int deleteByExample(TbUserExample example) {
int rows = getSqlMapClientTemplate().delete(
"tb_user.abatorgenerated_deleteByExample", example);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
public int deleteByPrimaryKey(Integer id) {
TbUser key = new TbUser();
key.setId(id);
int rows = getSqlMapClientTemplate().delete(
"tb_user.abatorgenerated_deleteByPrimaryKey", key);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
public int countByExample(TbUserExample example) {
Integer count = (Integer) getSqlMapClientTemplate().queryForObject(
"tb_user.abatorgenerated_countByExample", example);
return count.intValue();
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
public int updateByExampleSelective(TbUser record, TbUserExample example) {
UpdateByExampleParms parms = new UpdateByExampleParms(record, example);
int rows = getSqlMapClientTemplate().update(
"tb_user.abatorgenerated_updateByExampleSelective", parms);
* This method was generated by Abator for iBATIS. This method corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
public int updateByExample(TbUser record, TbUserExample example) {
UpdateByExampleParms parms = new UpdateByExampleParms(record, example);
int rows = getSqlMapClientTemplate().update(
"tb_user.abatorgenerated_updateByExample", parms);
* This class was generated by Abator for iBATIS. This class corresponds to the database table tb_user
* @abatorgenerated
Thu Jun 09 15:37:00 CST 2011
private static class UpdateByExampleParms extends TbUserExample {
public UpdateByExampleParms(Object record, TbUserExample example) {
super(example);
this.record =
public Object getRecord() {
生成的xml文件:
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"&
&sqlMap namespace="tb_user"&
&resultMap class="com.our311.demo.dao.model.TbUser" id="abatorgenerated_TbUserResult"&
&result column="id" jdbcType="INTEGER" property="id" /&
&result column="username" jdbcType="VARCHAR" property="username" /&
&result column="password" jdbcType="VARCHAR" property="password" /&
&result column="email" jdbcType="VARCHAR" property="email" /&
&/resultMap&
&sql id="abatorgenerated_Example_Where_Clause"&
&iterate conjunction="or" prepend="where" property="oredCriteria" removeFirstPrepend="iterate"&
&isEqual compareValue="true" property="oredCriteria[].valid"&
&iterate conjunction="and" prepend="and" property="oredCriteria[].criteriaWithoutValue"&
$oredCriteria[].criteriaWithoutValue[]$
&/iterate&
&iterate conjunction="and" prepend="and" property="oredCriteria[].criteriaWithSingleValue"&
$oredCriteria[].criteriaWithSingleValue[].condition$
#oredCriteria[].criteriaWithSingleValue[].value#
&/iterate&
&iterate conjunction="and" prepend="and" property="oredCriteria[].criteriaWithListValue"&
$oredCriteria[].criteriaWithListValue[].condition$
&iterate close=")" conjunction="," open="(" property="oredCriteria[].criteriaWithListValue[].values"&
#oredCriteria[].criteriaWithListValue[].values[]#
&/iterate&
&/iterate&
&iterate conjunction="and" prepend="and" property="oredCriteria[].criteriaWithBetweenValue"&
$oredCriteria[].criteriaWithBetweenValue[].condition$
#oredCriteria[].criteriaWithBetweenValue[].values[0]#
#oredCriteria[].criteriaWithBetweenValue[].values[1]#
&/iterate&
&/isEqual&
&/iterate&
&select id="abatorgenerated_selectByPrimaryKey" parameterClass="com.our311.demo.dao.model.TbUser" resultMap="abatorgenerated_TbUserResult"&
select id, username, password, email
from tb_user
where id = #id:INTEGER#
&select id="abatorgenerated_selectByExample" parameterClass="com.our311.demo.dao.model.TbUserExample" resultMap="abatorgenerated_TbUserResult"&
select id, username, password, email
from tb_user
&isParameterPresent&
&include refid="tb_user.abatorgenerated_Example_Where_Clause" /&
&isNotNull property="orderByClause"&
order by $orderByClause$
&/isNotNull&
&/isParameterPresent&
&delete id="abatorgenerated_deleteByPrimaryKey" parameterClass="com.our311.demo.dao.model.TbUser"&
delete from tb_user
where id = #id:INTEGER#
&delete id="abatorgenerated_deleteByExample" parameterClass="com.our311.demo.dao.model.TbUserExample"&
delete from tb_user
&include refid="tb_user.abatorgenerated_Example_Where_Clause" /&
&insert id="abatorgenerated_insert" parameterClass="com.our311.demo.dao.model.TbUser"&
insert into tb_user (id, username, password, email)
values (#id:INTEGER#, #username:VARCHAR#, #password:VARCHAR#, #email:VARCHAR#)
&update id="abatorgenerated_updateByPrimaryKey" parameterClass="com.our311.demo.dao.model.TbUser"&
update tb_user
set username = #username:VARCHAR#,
password = #password:VARCHAR#,
email = #email:VARCHAR#
where id = #id:INTEGER#
&update id="abatorgenerated_updateByPrimaryKeySelective" parameterClass="com.our311.demo.dao.model.TbUser"&
update tb_user
&dynamic prepend="set"&
&isNotNull prepend="," property="username"&
username = #username:VARCHAR#
&/isNotNull&
&isNotNull prepend="," property="password"&
password = #password:VARCHAR#
&/isNotNull&
&isNotNull prepend="," property="email"&
email = #email:VARCHAR#
&/isNotNull&
&/dynamic&
where id = #id:INTEGER#
&select id="abatorgenerated_countByExample" parameterClass="com.our311.demo.dao.model.TbUserExample" resultClass="java.lang.Integer"&
select count(*) from tb_user
&include refid="tb_user.abatorgenerated_Example_Where_Clause" /&
&update id="abatorgenerated_updateByExampleSelective"&
WARNING - This element is automatically generated by Abator for iBATIS, do not modify.
This element was generated on Thu Jun 09 15:37:00 CST 2011.
update tb_user
&dynamic prepend="set"&
&isNotNull prepend="," property="record.id"&
id = #record.id:INTEGER#
&/isNotNull&
&isNotNull prepend="," property="record.username"&
username = #record.username:VARCHAR#
&/isNotNull&
&isNotNull prepend="," property="record.password"&
password = #record.password:VARCHAR#
&/isNotNull&
&isNotNull prepend="," property="record.email"&
email = #record.email:VARCHAR#
&/isNotNull&
&/dynamic&
&isParameterPresent&
&include refid="tb_user.abatorgenerated_Example_Where_Clause" /&
&/isParameterPresent&
&update id="abatorgenerated_updateByExample"&
WARNING - This element is automatically generated by Abator for iBATIS, do not modify.
This element was generated on Thu Jun 09 15:37:00 CST 2011.
update tb_user
set id = #record.id:INTEGER#,
username = #record.username:VARCHAR#,
password = #record.password:VARCHAR#,
email = #record.email:VARCHAR#
&isParameterPresent&
&include refid="tb_user.abatorgenerated_Example_Where_Clause" /&
&/isParameterPresent&
applicationContext.xml
&?xml version="1.0" encoding="UTF-8"?&
- Application context definition for JPetStore's business layer.
- Contains bean references to the transaction manager and to the DAOs in
- dataAccessContext-local/jta.xml (see web.xml's "contextConfigLocation").
&beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"&
&bean id="propertyConfig"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&
&property name="location"&
&value&database.properties&/value&
&/property&
&bean id="datasource"
class="mons.dbcp.BasicDataSource"&
&property name="driverClassName" value="${driver}"&&/property&
&property name="url" value="${url}"&&/property&
&property name="username" value="${username}"&&/property&
&property name="password" value="${password}"&&/property&
&bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"&
&property name="dataSource" ref="datasource"&&/property&
&bean id="sqlMapClient"
class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"&
&property name="dataSource" ref="datasource"&&/property&
&property name="configLocation" value="SqlMapConfig_MySQL.xml"&&/property&
&bean id="userDAOImpl" class="com.our311.demo.dao.TbUserDAOImpl"&
&property name="sqlMapClient" ref="sqlMapClient"&&/property&
测试代码:
package com.our311.demo.
import org.springframework.context.ApplicationC
import org.springframework.context.support.ClassPathXmlApplicationC
import com.ibatis.sqlmap.client.SqlMapC
import com.our311.demo.dao.TbUserDAO;
import com.our311.demo.dao.TbUserDAOI
public class Test {
* @param args
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext(
"applicationContext.xml");
TbUserDAO studao = (TbUserDAOImpl) ac.getBean("userDAOImpl");
报错如下:
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlMapClient' defined in class path resource [applicationContext.xml]: Invocation o nested exception is org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [SqlMapConfig_MySQL.xml]; nested exception is mon.xml.NodeletException: Error parsing XML.
Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.
Cause: mon.xml.NodeletException: Error parsing XML.
Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'.
Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'tb_user.abatorgenerated_Example_Where_Clause'
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
at org.springframework.context.support.ClassPathXmlApplicationContext.&init&(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.&init&(ClassPathXmlApplicationContext.java:83)
at com.our311.demo.test.Test.main(Test.java:17)
Caused by: org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [SqlMapConfig_MySQL.xml]; nested exception is mon.xml.NodeletException: Error parsing XML.
Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.
Cause: mon.xml.NodeletException: Error parsing XML.
Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'.
Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'tb_user.abatorgenerated_Example_Where_Clause'
at org.springframework.orm.ibatis.SqlMapClientFactoryBean.buildSqlMapClient(SqlMapClientFactoryBean.java:342)
at org.springframework.orm.ibatis.SqlMapClientFactoryBean.afterPropertiesSet(SqlMapClientFactoryBean.java:292)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
... 15 more
Caused by: mon.xml.NodeletException: Error parsing XML.
Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.
Cause: mon.xml.NodeletException: Error parsing XML.
Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'.
Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'tb_user.abatorgenerated_Example_Where_Clause'
at mon.xml.NodeletParser.parse(NodeletParser.java:62)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:62)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:55)
at org.springframework.orm.ibatis.SqlMapClientFactoryBean.buildSqlMapClient(SqlMapClientFactoryBean.java:339)
... 18 more
Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.
Cause: mon.xml.NodeletException: Error parsing XML.
Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'.
Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'tb_user.abatorgenerated_Example_Where_Clause'
at mon.xml.NodeletParser.processNodelet(NodeletParser.java:123)
at mon.xml.NodeletParser.process(NodeletParser.java:84)
at mon.xml.NodeletParser.process(NodeletParser.java:102)
at mon.xml.NodeletParser.parse(NodeletParser.java:72)
at mon.xml.NodeletParser.parse(NodeletParser.java:60)
... 21 more
Caused by: mon.xml.NodeletException: Error parsing XML.
Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'.
Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'tb_user.abatorgenerated_Example_Where_Clause'
at mon.xml.NodeletParser.parse(NodeletParser.java:62)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse(SqlMapParser.java:44)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$10.process(SqlMapConfigParser.java:257)
at mon.xml.NodeletParser.processNodelet(NodeletParser.java:121)
... 25 more
Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'.
Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'tb_user.abatorgenerated_Example_Where_Clause'
at mon.xml.NodeletParser.processNodelet(NodeletParser.java:123)
at mon.xml.NodeletParser.process(NodeletParser.java:84)
at mon.xml.NodeletParser.process(NodeletParser.java:102)
at mon.xml.NodeletParser.parse(NodeletParser.java:72)
at mon.xml.NodeletParser.parse(NodeletParser.java:60)
... 28 more
Caused by: java.lang.RuntimeException: Could not find SQL statement to include with refid 'tb_user.abatorgenerated_Example_Where_Clause'
at com.ibatis.sqlmap.engine.builder.xml.XMLSqlSource.parseDynamicTags(XMLSqlSource.java:77)
at com.ibatis.sqlmap.engine.builder.xml.XMLSqlSource.parseDynamicTags(XMLSqlSource.java:122)
at com.ibatis.sqlmap.engine.builder.xml.XMLSqlSource.getSql(XMLSqlSource.java:33)
at com.ibatis.sqlmap.engine.config.MappedStatementConfig.&init&(MappedStatementConfig.java:79)
at com.ibatis.sqlmap.engine.config.SqlMapConfiguration.newMappedStatementConfig(SqlMapConfiguration.java:159)
at com.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.parseGeneralStatement(SqlStatementParser.java:73)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser$21.process(SqlMapParser.java:362)
at mon.xml.NodeletParser.processNodelet(NodeletParser.java:121)
... 32 more
解决方法:在sqlmapconfig文件中加入下面的一句话
&settings cacheModelsEnabled="true" enhancementEnabled="true" useStatementNamespaces="true" /&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:10805次
排名:千里之外
(3)(5)(2)(1)}

我要回帖

更多关于 eclipse 自动生成注释 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信