[Java]Spring4集成Hibernate5

来源:本网整理

bean里没有配置链接数据库信息,如果配置了连接池的话 可以加<property

Spring4集成Hibernate5

Hibernate5相比hibernate4做了一些调整会涉及到配置文件的变更

可以把事务管理部分交给spring框架完成。配置事务(xml方式)使用spring管理事务后在

我开发的CMS已经集成了最新的Hibernate5.0.1

亲,首先告诉你一点,你截图把IP,mysql端口,帐号密码都公布了,这样不好.还有,提示是nam

http://git.oschina.net/sanluan/PublicCMS scrolltotop.offset(100,120); scrolltotop.init();

[1].[代码] 新增配置 跳至 [1]

hibernate4+spring集成推荐用sessionFactory.getCurrentSes

hibernate4中事务管理配置方式 hibernate.current_session_context_class=org.springframework.orm.hibernate4.SpringSessionContext hibernate5中使用以下方式 hibernate.transaction.coordinator_class=jdbc 配置的值使用短名称,不再使用完整的类名,jdbc代表org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl, jta代表org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl SyntaxHighlighter.autoloader( 'applescript /js/sh309/scripts/shBrushAppleScript.js?t=1423294217000', 'actionscript3 as3 /js/sh309/scripts/shBrushAS3.js?t=1423294217000', 'bash shell /js/sh309/scripts/shBrushBash.js?t=1423294217000', 'coldfusion cf /js/sh309/scripts/shBrushColdFusion.js?t=1423294217000', 'cpp c /js/sh309/scripts/shBrushCpp.js?t=1423294217000', 'obj-c objc /js/sh309/scripts/shBrushObjC.js?t=1423294217000', 'c# c-sharp csharp /js/sh309/scripts/shBrushCSharp.js?t=1423294217000', 'css /js/sh309/scripts/shBrushCss.js?t=1423294217000', 'delphi pascal /js/sh309/scripts/shBrushDelphi.js?t=1423294217000', 'diff patch pas /js/sh309/scripts/shBrushDiff.js?t=1423294217000', 'erl erlang /js/sh309/scripts/shBrushErlang.js?t=1423294217000', 'groovy /js/sh309/scripts/shBrushGroovy.js?t=1423294217000', 'haxe hx /js/sh309/scripts/shBrushHaxe.js?t=1423294217000', 'java /js/sh309/scripts/shBrushJava.js?t=1423294217000', 'jfx javafx /js/sh309/scripts/shBrushJavaFX.js?t=1423294217000', 'js jscript javascript /js/sh309/scripts/shBrushJScript.js?t=1423294217000', 'perl pl /js/sh309/scripts/shBrushPerl.js?t=1423294217000', 'php /js/sh309/scripts/shBrushPhp.js?t=1423294217000', 'text plain /js/sh309/scripts/shBrushPlain.js?t=1423294217000', 'py python /js/sh309/scripts/shBrushPython.js?t=1423294217000', 'ruby rails ror rb /js/sh309/scripts/shBrushRuby.js?t=1423294217000', 'scala /js/sh309/scripts/shBrushScala.js?t=1423294217000', 'sql /js/sh309/scripts/shBrushSql.js?t=1423294217000', 'vb vbnet /js/sh309/scripts/shBrushVb.js?t=1423294217000', 'xml xhtml xslt html /js/sh309/scripts/shBrushXml.js?t=1423294217000' ); SyntaxHighlighter.all();

缺少aspectj 包. 在pom中加上这个包.<dependency>&l

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

spring3+hibernate3升级到spring4+hibernate5报错,求各位帮忙看看,非常感谢。

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具*意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这6个核心接口分别加以介绍。

Session接口 Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。   SessionFactory接口 SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。   Configuration接口 Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。

Spring:Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。   简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。   轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。   控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。   面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。   容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。   框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。   所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。

编辑本段Spring框架的7个模块

1、核心容器   2、Spring 上下文   3、Spring AOP   4、Spring DAO   5、Spring ORM   6、Spring Web 模块   7、Spring MVC 框架

spring4集成hibernate4如何使用?

1.由IOC容器来管理Hibernate的SessionFactory2.让Hibernate使用上Spring的声明式事务

整合的过程以一个实例来说明。

在整合的中,hibernate的一些配置都可以放在spring的配置文件中。但是为了使配置文件看起啦比较清晰,建议还是分开存放。

比如在db.properties中存放数据库信息,hibernate.cfg.xml中存放hibernate的基本信息。其余的配置信息可以放在spring的配置文件(applicationContext.xml)中。

db.properties

1 jdbc.user=yulei

2 jdbc.password=yulei

3 jdbc.driverClass=oracle.jdbc.driver.OracleDriver

4 jdbc.jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl

5

6 jdbc.initialPoolSize=5

7 jdbc.maxPoolSize=10

hibernate.cfg.xml

1 <?xml version="1.0" encoding="UTF-8"?>

2 <!DOCTYPE hibernate-configuration PUBLIC

3 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

4 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

5 <hibernate-configuration>

6 <session-factory>

7 <!-- 配置连接数据库的基本信息 -->

8 <!--

9 1.数据源配置到IOC容器中,所以此处不再需要配置数据源

10 2.关联的.hbm.xml也在IOC容器配置SessionFactory实例时再进行配置

11 3.配置Hibernate的基本属性:方言、SQL显式及格式化、生成数据表的策略以及二级缓存等

12 -->

13

14

15 <!-- 配置hibernate基本信息 -->

16 <!-- hibernate所使用的数据库方言 -->

17 <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>

18

19 <!-- 执行操作时是否在控制台打印sql -->

20 <property name="show_sql">true</property>

21

22 <!-- 是否对SQL进行格式化 -->

23 <property name="format_sql">true</property>

24

25 <!-- 指定自动生成数据表的策略 -->

26 <property name="hbm2ddl.auto">update</property>

27

28

29 </session-factory>

30 </hibernate-configuration>

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:aop="http://www.springframework.org/schema/aop"

xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd">

<!-- 配置自动扫描的包 -->

<context:component-scan base-package="com.yl.spring.hibernate"></context:component-scan>

<!-- 配置数据源 -->

<!-- 导入资源文件 -->

<context:property-placeholder location="classpath:db.properties"/>

<!-- 配置c3p0数据源 -->

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">

<property name="user" value="${jdbc.user}"></property>

<property name="password" value="${jdbc.password}"></property>

<property name="driverClass" value="${jdbc.driverClass}"></property>

<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>

<property name="initialPoolSize" value="${jdbc.initialPoolSize}"></property>

<property name="maxPoolSize" value="${jdbc.maxPoolSize}"></property>

</bean>

<!-- 配置 Hibernate 的 SessionFactory 实例 : 通过Spring 提供的LocalSessionFactoryBean配置-->

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

<!-- 配置数据源属性 -->

<property name="dataSource" ref="dataSource"></property>

<!-- 配置 hibernate 配置文件的名称及位置 -->

<!-- <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> -->

<!-- 使用hibernateProperties属性来配置Hibernate原生的属性 -->

<property name="hibernateProperties">

<props>

<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>

<prop key="hibernate.show_sql">true</prop>

<prop key="hibernate.format_sql">true</prop>

<prop key="hibernate.hbm2ddl.auto">update</prop>

</props>

</property>

<!-- 配置 hibernate 映射文件的位置及名称 , 可以使用通配符-->

<property name="mappingLocations" value="classpath:com/yl/spring/hibernate/entities/*.hbm.xml"></property>

</bean>

<!-- 配置 Spring 的声明式事务 -->

<!-- 1.配置事务管理器 -->

<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">

<property name="sessionFactory" ref="sessionFactory"></property>

</bean>

<!-- 2.配置事务属性 , 需要事务管理器 -->

<tx:advice id="txAdvice" transaction-manager="transactionManager">

<tx:attributes>

<tx:method name="get*" read-only="true"/>

<!-- 添加下面此行后改变了 事务的隔离级别 -->

<!-- <tx:method name="purchase" propagation="REQUIRES_NEW"/> -->

<tx:method name="*"/>

</tx:attributes>

</tx:advice>

<!-- 3.配置事务切点, 并把切点和事务属性联系起来 -->

<aop:config>

<aop:pointcut expression="execution(* com.yl.spring.hibernate.service.*.*(..))"

id="txPointcut"/>

<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>

</aop:config>

</beans>

以上三个配置文件基本上就是Spring整合Hibernate所需的配置。

Spring和Hibernate的注解整合 hibernate3和hibernate4/5的区别

hibernate4.0版本和3.0版本的区别

1.数据库方言设置

<property name=”dialect”>org.hibernate.dialect.MySQL5Dialect</property>

在3.3版本中连接MySQL数据库只需要指明MySQLDialect即可。在4.1版本中可以指出MySQL5Dialect

2.buildSessionFactory

4.1版本中buildSessionFactory()已经被buildSessionFactory(ServiceRegistry ServiceRegistry)取代

解决办法:

Configuration cfg = new Configuration();

ServiceRegistry serviceRegistry =new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();

SessionFactory sf= cfg.configure().buildSessionFactory(serviceRegistry);

3.annotation

org.hibernate.cfg.AnnotationConfiguration;

Deprecated. All functionality has been moved to Configuration

这个注解读取配置的class已经废弃,现在读取配置不需要特别注明是注解,直接用Configuration cfg = new Configuration();就可以读取注解。

Hibernate4.1版本中推荐使用annotation配置,所以在引进jar包时把requested里面的包全部引进来就已经包含了annotation必须包了

4.Hibernate4.1已经可以自动建表,所以开发时只需要自己开发类然后配置好就OK。不需要考虑怎么建表

搭建springmvc4 spring4 hibernate4整合框架tomcat用什么版本

目前最好的java-web编程环境:

spring too suit + tomcat9.0 + jdk1.8.0

可以添加hibernate 4框架,只需要添加hibernate相关jar以及在xml进行相关配置既可以了

如我的spring+hibernate的viewspace-xml(不是web.xml哦)

<?xml version="1.0" encoding="UTF-8"?>

<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:context="http://www.springframework.org/schema/context"

 xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:jee="http://www.springframework.org/schema/jee"

 xmlns:lang="http://www.springframework.org/schema/lang" xmlns:p="http://www.springframework.org/schema/p"

 xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util"

 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

  http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd

  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd

  http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd

  http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd

  http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd

  http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd

  http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

 <!-- <context:component-scan base-package="package_name"/> -->

 <context:component-scan base-package="org.lee" />

 <mvc:annotation-driven />

 <!-- 注解实现日记记录 -->

 <aop:aspectj-autoproxy />

 <bean

  class="org.springframework.web.servlet.view.InternalResourceViewResolver">

  <property name="prefix" value="/WEB-INF/view/" />   <!-- path before request -->

  <property name="suffix" value=".jsp" />  <!-- suffix -->

 </bean>

 <!-- 国际化 -->

 <bean id="messageSource"

  class="org.springframework.context.support.ResourceBundleMessageSource">

  <property name="basenames" value="i18n.message"></property>

  <property name="defaultEncoding" value="UTF-8" />

 </bean>

 <!-- 基于Session的国际化配置 -->

 <bean id="localeResolver"

  class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>

 <!-- 动态语言切换 -->

 <bean id="localeChangeInterceptor"

  class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">

  <property name="paramName" value="locale" />

 </bean>

 <!-- 静态资源访问 -->

 <mvc:resources location="/My97DatePicker/" mapping="/My97DatePicker/**" />

 <mvc:resources location="/static/lib/" mapping="/static/lib/**" />

 <mvc:resources location="/static/css/" mapping="/static/css/**" />

 <mvc:resources location="/static/assets/" mapping="/static/assets/**" />

 <mvc:resources location="/static/js/" mapping="/static/js/**" />

 <mvc:resources location="/static/js/jqprint/" mapping="/static/js/jqprint/**" />

 <mvc:resources location="/static/bootstrap-3.3.5-dist/css/"

  mapping="/static/bootstrap-3.3.5-dist/css/**" />

 <mvc:resources location="/static/bootstrap-3.3.5-dist/js/"

  mapping="/static/bootstrap-3.3.5-dist/js/**" />

 <mvc:resources location="/static/bootstrap-3.3.5-dist/fonts/"

  mapping="/static/bootstrap-3.3.5-dist/fonts/**" />

 <!-- Bootstrap-Multiselect -->

 <mvc:resources location="/static/bootstrap-multiselect-0.9.13/dist/css/"

  mapping="/static/bootstrap-multiselect-0.9.13/dist/css/**" />

 <mvc:resources location="/static/bootstrap-multiselect-0.9.13/dist/js/"

  mapping="/static/bootstrap-multiselect-0.9.13/dist/js/**" />

 <mvc:resources location="/static/bootstrap-multiselect-0.9.13/dist/less/"

  mapping="/static/bootstrap-multiselect-0.9.13/dist/less/**" />

 <mvc:resources location="/static/bootstrap-multiselect-0.9.13/docs/css/"

  mapping="/static/bootstrap-multiselect-0.9.13/docs/css/**" />

 <mvc:resources location="/static/bootstrap-multiselect-0.9.13/docs/js/"

  mapping="/static/bootstrap-multiselect-0.9.13/docs/js/**" />

 <mvc:resources location="/static/bootstrap-multiselect-0.9.13/docs/less/"

  mapping="/static/bootstrap-multiselect-0.9.13/docs/less/**" />

 <!-- JSR 303 Validator -->

 <bean id="validator"

  class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">

  <property name="providerClass" value="org.hibernate.validator.HibernateValidator" />

  <property name="validationMessageSource" ref="messageSource" />

 </bean>

 <mvc:annotation-driven validator="validator" />

 <!-- 数据库配置 -->

 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"

  init-method="init" destroy-method="close">

  <!-- MySQL数据库配置 -->

  <property name="url"

   value="jdbc:mysql://localhost:3306/apj?useUnicode=true&amp;characterEncoding=utf-8" />

  <property name="username" value="root" />

  <property name="password" value="123456" />

 </bean>

 <!-- 配置jdbcTemplate -->

 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"

  abstract="false" lazy-init="false" autowire="default">

  <property name="dataSource">

   <ref bean="dataSource" />

  </property>

 </bean>

 <!--配置Hibernate -->

 <bean id="sessionFactory"

  class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

  <property name="dataSource" ref="dataSource" />

  <property name="packagesToScan" value="org.lee.model"></property>

  <property name="hibernateProperties">

   <props>

    <!-- 方言 -->

    <prop key="dialect">org.hibernate.dialect.MySQL5Dialect</prop>

    <!-- 控制台显示SQL -->

    <prop key="show_sql">true</prop>

    <!-- 自动更新表结构 -->

    <prop key="hbm2ddl.auto">update</prop>

   </props>

  </property>

 </bean>

 

 

 <!--配置Hibernate事务 -->

 <bean id="transactionManager"

  class="org.springframework.orm.hibernate4.HibernateTransactionManager">

  <property name="sessionFactory" ref="sessionFactory" />

 </bean>

 <tx:annotation-driven transaction-manager="transactionManager" />

 <!-- 考题管理的ajax相关配置 -->

 <bean

  class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

  <property name="messageConverters">

   <list>

    <ref bean="mappingJackson2HttpMessageConverter" />

   </list>

  </property>

 </bean>

 <bean id="mappingJackson2HttpMessageConverter"

  class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">

  <property name="supportedMediaTypes">

   <list>

    <value>application/json;charset=UTF-8</value>

    <value>text/html;charset=UTF-8</value>

    <value>text/json;charset=UTF-8</value>

   </list>

  </property>

 </bean>

 <!-- 上传 -->

 <bean id="multipartResolver"

  class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />

 <!-- 登录权限 -->

 <mvc:interceptors>

  <mvc:interceptor>

   <mvc:mapping path="/**" />

   <mvc:exclude-mapping path="/login" />

   <mvc:exclude-mapping path="/logout" />

   <mvc:exclude-mapping path="/static" />

   <bean class="org.lee.Interceptor.LoginInterceptor"></bean>

  </mvc:interceptor>

 </mvc:interceptors>

</beans>

求李刚《轻量级Java EE 企业应用实战Struts2+Spring4+Hibernate3》

轻量级Java EE 企业应用实战Struts2+Spring4+Hibernate3

http://down.51cto.com/data/1082095

《轻量级Java EE企业应用实战:Struts 2+Spring 3+Hibernate整合开发》是《轻量级Java EE企业应用实战》的第3版,第3版保持了第2版内容全面、深入的特点,主要完成全部知识的升级。《轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发》介绍了Java EE领域的三个开源框架:Struts 2、Spring和Hibernate。其中Struts 2升级到2.2.1,Spring升级到3.0.5,Hibernate升级到了3.6.0。《轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发》还全面介绍了Servlet 3.0的新特性,以及Tomcat 7.0的配置和用法,《轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发》的示例应该在Tomcat 7.0上运行。

全书为清晰带完整书签PDF,分10卷上传,请全部下载完后解压第1卷即可。李刚著经典JAVA开发书籍,绝对值得收藏!

  • 本文相关:
  • [JavaScript]页面元素scroll滚动定位
  • [Java]junit dbunit扩展,可以在测试前插入json格式数...
  • [Java]redis client 数据展现
  • [Java]打印当前java程序的线程堆栈
  • [HTML]css初始化代码
  • [Python]Python发送邮件的例子,运维人员使用
  • [Objective-C]iOS隐藏tableview多余的分割线
  • [Java]android4.4以上透明状态栏设置
  • [Python]下载全国城市经纬度
  • [Python]下载全国城市空气质量历史数据
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved