Spring+SpringMVC+hibernate+maven配置文件

1.pom.xml文件:

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>Person</groupId>
  <artifactId>Person</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>Person</name>
  <description/>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <spring.version>4.3.5.RELEASE</spring.version>  
        <hibernate.version>4.2.5.Final</hibernate.version>  
        <jackson.version>2.8.5</jackson.version>  
        <junit.version>4.12</junit.version>  
        <ehcache.version>2.10.3</ehcache.version>  
        <log4j.version>1.2.17</log4j.version>  
        <mysql.version>5.1.37</mysql.version>  
        <druid.version>1.0.27</druid.version>  
        <aspectjweaver.version>1.8.7</aspectjweaver.version>  
        <webVersion>3.0</webVersion>  
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>bean-validator</artifactId>
      <version>3.0-JBoss-4.0.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.annotation</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.ejb</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.enterprise.deploy</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.jms</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.management.j2ee</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.persistence</groupId>
      <artifactId>javax.persistence</artifactId>
      <version>2.0.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.resource</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.security.auth.message</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.security.jacc</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.servlet</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.servlet.jsp</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.servlet.jsp.jstl</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.transaction</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.xml.bind</groupId>
      <artifactId>jaxb-api-osgi</artifactId>
      <version>2.2.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.ws.rs</groupId>
      <artifactId>jsr311-api</artifactId>
      <version>1.1.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish.web</groupId>
      <artifactId>jstl-impl</artifactId>
      <version>1.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.4.3</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.xml</groupId>
      <artifactId>webservices-api-osgi</artifactId>
      <version>2.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.weld</groupId>
      <artifactId>weld-osgi-bundle</artifactId>
      <version>1.0.1-SP3</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish.web</groupId>
      <artifactId>javax.servlet.jsp.jstl</artifactId>
      <version>1.2.1</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp.jstl</groupId>
      <artifactId>javax.servlet.jsp.jstl-api</artifactId>
      <version>1.2.1</version>
    </dependency>
    <!-- junit 单元测试 -->  
        <dependency>  
            <groupId>junit</groupId>  
            <artifactId>junit</artifactId>  
            <version>${junit.version}</version>  
            <scope>test</scope>  
        </dependency>  
        <!-- spring -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-core</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
 
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-beans</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
 
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-context</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
 
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-tx</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
 
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-web</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
 
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-test</artifactId>  
            <version>${spring.version}</version>  
            <scope>test</scope>  
        </dependency>  
 
        <!-- 使用SpringMVC需配置 -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-webmvc</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
 
        <!-- 关系型数据库整合时需配置 如hibernate jpa等 -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-orm</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
 
        <!-- hibernate -->  
        
        <dependency>  
            <groupId>org.hibernate</groupId>  
            <artifactId>hibernate-core</artifactId>  
            <version>${hibernate.version}</version>  
        </dependency>  
 
        <dependency>  
            <groupId>org.hibernate</groupId>  
            <artifactId>hibernate-ehcache</artifactId>  
            <version>${hibernate.version}</version>  
        </dependency>  
          
          
        <!-- 二级缓存ehcache -->    
        <dependency>    
            <groupId>net.sf.ehcache</groupId>    
            <artifactId>ehcache</artifactId>    
            <version>${ehcache.version}</version>    
        </dependency>  
          
        <!-- log4j -->    
        <dependency>    
            <groupId>log4j</groupId>    
            <artifactId>log4j</artifactId>    
            <version>${log4j.version}</version>    
        </dependency>    
    
        <!-- mysql连接 -->    
        <dependency>    
            <groupId>mysql</groupId>    
            <artifactId>mysql-connector-java</artifactId>    
            <version>${mysql.version}</version>    
        </dependency>  
          
        <!-- 阿里巴巴数据源 -->  
        <dependency>  
            <groupId>com.alibaba</groupId>  
            <artifactId>druid</artifactId>  
            <version>${druid.version}</version>  
        </dependency>  
          
        <dependency>    
            <groupId>com.fasterxml.jackson.core</groupId>    
            <artifactId>jackson-annotations</artifactId>    
            <version>${jackson.version}</version>    
        </dependency>    
    
        <dependency>    
            <groupId>com.fasterxml.jackson.core</groupId>    
            <artifactId>jackson-core</artifactId>    
            <version>${jackson.version}</version>    
        </dependency>    
    
        <dependency>    
            <groupId>com.fasterxml.jackson.core</groupId>    
            <artifactId>jackson-databind</artifactId>    
            <version>${jackson.version}</version>    
        </dependency>    
    
        <!-- aop -->    
        <dependency>  
            <groupId>org.aspectj</groupId>  
            <artifactId>aspectjweaver</artifactId>  
            <version>${aspectjweaver.version}</version>  
        </dependency>  
          
        <!-- servlet -->  
        <dependency>  
            <groupId>javax.servlet</groupId>  
            <artifactId>servlet-api</artifactId>  
            <version>3.0-alpha-1</version>  
            <scope>provided</scope>  
        </dependency>  
    
        <dependency>  
            <groupId>javax.servlet</groupId>  
            <artifactId>jstl</artifactId>  
            <version>1.2</version>  
        </dependency>  
  </dependencies>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <warSourceDirectory>${basedir}/WebRoot</warSourceDirectory>
          <version>3.0</version>
          <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>


2.web.xml文件

<?xml version="1.0" encoding="UTF-8"?>  
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
        xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  
        id="WebApp_ID" version="3.0">  
        <display-name>Person</display-name>
        <!-- 加载配置文件 -->  
        <context-param>  
            <param-name>contextConfigLocation</param-name>  
            <param-value>classpath:spring.xml,classpath:spring-hibernate.xml</param-value>  
        </context-param>  
        <!-- 中文过滤器 -->  
        <filter>  
            <filter-name>encodingFilter</filter-name>  
            <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
            <init-param>  
                <param-name>encoding</param-name>  
                <param-value>utf-8</param-value>  
            </init-param>  
            <init-param>  
                <param-name>forceEncoding</param-name>  
                <param-value>true</param-value>  
            </init-param>  
        </filter>  
        <filter-mapping>  
            <filter-name>encodingFilter</filter-name>  
            <url-pattern>/*</url-pattern>  
        </filter-mapping>  
      
        <!-- openSessionInView配置 作用是延迟session关闭到view层 -->  
        <filter>  
            <filter-name>openSessionInViewFilter</filter-name>  
            <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>  
            <init-param>  
                <param-name>singleSession</param-name>  
                <param-value>true</param-value>  
            </init-param>  
        </filter>  
      
        <!-- 监听servletContext,启动contextConfigLocation中的spring配置信息 -->  
        <listener>  
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
        </listener>  
      
        <!-- 防止spring内存溢出监听器 -->  
        <listener>  
            <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>  
        </listener>  
      
        <servlet>  
            <description>spring mvc servlet</description>  
            <servlet-name>springmvc</servlet-name>  
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
            <init-param>  
                <param-name>contextConfigLocation</param-name>  
                <!-- 此处配置的是SpringMVC的配置文件 -->  
                <param-value>classpath:spring-mvc.xml</param-value>  
            </init-param>  
            <load-on-startup>1</load-on-startup>  
        </servlet>  
      
        <servlet-mapping>  
            <servlet-name>springmvc</servlet-name>  
            <url-pattern>*.action</url-pattern>  
        </servlet-mapping>  
      
        <filter-mapping>  
            <filter-name>openSessionInViewFilter</filter-name>  
            <url-pattern>/*</url-pattern>  
        </filter-mapping>  
      
      
        <!-- druid数据源拦截配置,如果不需要druid提供的数据库日志,就可以直接注释下面的代码 -->  
        <filter>  
            <filter-name>DruidWebStatFilter</filter-name>  
            <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>  
            <init-param>  
                <param-name>exclusions</param-name>  
                <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>  
            </init-param>  
            <init-param>  
                <param-name>profileEnable</param-name>  
                <param-value>true</param-value>  
            </init-param>  
            <init-param>  
                <param-name>sessionStatEnable</param-name>  
                <param-value>true</param-value>  
            </init-param>  
            <init-param>  
                <param-name>principalSessionName</param-name>  
                <param-value>SESSION_SYS_USER</param-value>  
            </init-param>  
        </filter>  
        <filter-mapping>  
            <filter-name>DruidWebStatFilter</filter-name>  
            <url-pattern>/*</url-pattern>  
        </filter-mapping>  
        <servlet>  
            <servlet-name>DruidStatView</servlet-name>  
            <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>  
            <init-param>  
                <param-name>resetEnable</param-name>  
                <param-value>true</param-value>  
            </init-param>  
            <init-param>  
                <param-name>loginUsername</param-name>  
                <param-value>gzyfkjDruid</param-value>  
            </init-param>  
            <init-param>  
                <param-name>loginPassword</param-name>  
                <param-value>gzyfkj@Druid2016$$$</param-value>  
            </init-param>  
        </servlet>  
        <servlet-mapping>  
            <servlet-name>DruidStatView</servlet-name>  
            <url-pattern>/druid/*</url-pattern>  
        </servlet-mapping>  
      
        <!-- 配置session超时时间,单位分钟 -->  
        <session-config>  
            <session-timeout>30</session-timeout>  
        </session-config>  
      
        <welcome-file-list>  
            <welcome-file>/index.jsp</welcome-file>  
        </welcome-file-list>  
      
    </web-app> 


3.整合配置文件


config.properties文件:

jdbc.url=jdbc:mysql:///ssh?useSSL=true&characterEncoding=UTF-8
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.username=root
jdbc.password=123456
#only mysql need
#hibernate config  
#hibernate.dialect = org.hibernate.dialect.MySQL5Dialect  
hibernate.show_sql = true  
hibernate.format_sql = true  
hibernate.hbm2ddl.auto = update  
hibernate.cache.use_second_level_cache = true  
hibernate.cache.use_query_cache = true  
hibernate.cache.region.factory_class = org.hibernate.cache.ehcache.EhCacheRegionFactory  

hibernate.cache.provider_configuration_file_resource_path =ehcache.xml

Spring整合hibernate文件:

<?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:tx="http://www.springframework.org/schema/tx"    
        xmlns:aop="http://www.springframework.org/schema/aop"    
        xsi:schemaLocation="    
            http://www.springframework.org/schema/beans     
            http://www.springframework.org/schema/beans/spring-beans-4.3.xsd     
            http://www.springframework.org/schema/tx     
            http://www.springframework.org/schema/tx/spring-tx-4.3.xsd    
            http://www.springframework.org/schema/aop     
            http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">    
        
        <!-- 配置数据源 Druid -->   
        <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"  
            init-method="init" destroy-method="close">  
            <!-- MySQL数据库配置 -->  
            <property name="url"  
                value="${jdbc.url}" />  
            <property name="username" value="${jdbc.username}" />  
            <property name="password" value="${jdbc.password}" />  
            <!-- SQL Server数据库配置 -->  
            <!-- <property name="url" value="jdbc:sqlserver://localhost:1433;DatabaseName=yfkj"   
                /> <property name="username" value="sa" /> <property name="password" value="123456"   
                /> -->  
            <!-- Oracle数据库配置 -->  
            <!-- <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:yfkj"   
                /> <property name="username" value="SYSTEM" /> <property name="password"   
                value="SkyNet888999" /> -->  
            <!-- 配置初始化大小、最小、最大 -->  
            <property name="initialSize" value="1" />  
            <property name="minIdle" value="1" />  
            <property name="maxActive" value="20" />  
            <!-- 配置获取连接等待超时的时间 -->  
            <property name="maxWait" value="60000" />  
            <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->  
            <property name="timeBetweenEvictionRunsMillis" value="60000" />  
            <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->  
            <property name="minEvictableIdleTimeMillis" value="300000" />  
            <!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->  
            <property name="poolPreparedStatements" value="true" />  
            <property name="maxPoolPreparedStatementPerConnectionSize"  
                value="20" />  
            <!-- 配置监控统计拦截的filters -->  
            <property name="filters" value="stat,log4j,wall" />  
        </bean>  
        <!-- 配置hibernate的SessionFactory -->    
        <bean id="sessionFactory"    
            class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">    
            <!-- 注入数据源 相关信息看源码 -->    
            <property name="dataSource" ref="dataSource" />    
            <!-- hibernate配置信息 -->    
            <property name="hibernateProperties">    
                <props>    
                    <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>    
                    <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>    
                    <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>    
                    <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>    
        
                    <!-- 开启二级缓存 ehcache -->    
                    <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop>    
                    <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>    
                    <prop key="hibernate.cache.region.factory_class">${hibernate.cache.region.factory_class}</prop>    
                    <prop key="hibernate.connection.autocommit">true</prop>    
                    <prop key="hibernate.cache.provider_configuration_file_resource_path">${hibernate.cache.provider_configuration_file_resource_path} </prop>   
                   <!--  <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop> -->
                </props>    
            </property>    
            <!-- 扫描hibernate注解配置的entity -->    
            <property name="packagesToScan" value="com.demo.entity" />    
        </bean>    
        <!-- <bean id="hibernateDao" class="com.demo.dao.HibernateDao">
        <property name="sessionFactory" ref="sessionFactory"></property>
        </bean> -->
        <!-- 配置事务管理器 -->    
        <bean id="transactionManager"    
            class="org.springframework.orm.hibernate4.HibernateTransactionManager">    
            <property name="sessionFactory" ref="sessionFactory" />    
        </bean>    
        
        <!-- 配置事务增强处理Bean,指定事务管理器 -->    
        <tx:advice id="transactionAdvice" transaction-manager="transactionManager">    
            <!-- 配置详细事务处理语义 -->    
            <tx:attributes>    
                <tx:method name="insert*" propagation="REQUIRED" />    
                <tx:method name="save*" propagation="REQUIRED" />    
                <tx:method name="update*" propagation="REQUIRED" />    
                <tx:method name="delete*" propagation="REQUIRED" />    
        
                <tx:method name="get*" propagation="SUPPORTS" read-only="true" />    
                <tx:method name="find*" propagation="SUPPORTS" read-only="true" />    
                <tx:method name="select*" propagation="SUPPORTS" read-only="true" />    
                <tx:method name="load*" propagation="SUPPORTS" read-only="true" />    
                <tx:method name="list*" propagation="SUPPORTS" read-only="true" />    
        
                <!-- 其他采用默认事务方式 -->    
                <tx:method name="*" />    
        
            </tx:attributes>    
        </tx:advice>    
        
        <!-- Spring aop事务管理 -->    
        <aop:config>    
            <!-- 配置切入点 -->    
            <aop:pointcut id="transactionPointcut"    
                expression="execution(* com.demo.service..*impl.*(..))" />    
            <!-- 指定在txAdvice切入点应用txAdvice事务增强处理 -->    
            <aop:advisor pointcut-ref="transactionPointcut"    
                advice-ref="transactionAdvice" />    
        </aop:config>  
          
          
        <!-- 使用annotation定义事务:如果没有用到注解事物~可以关闭 -->  
        <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />   
        
    </beans>  

Spring-mvc.xml文件:

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans     
            http://www.springframework.org/schema/beans/spring-beans-4.3.xsd     
            http://www.springframework.org/schema/context     
            http://www.springframework.org/schema/context/spring-context-4.3.xsd     
            http://www.springframework.org/schema/mvc     
            http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd">  
 
    <!-- 自动扫描@Controller注入为bean -->  
    <context:component-scan base-package="com.demo.controller" />  
 
    <!-- 以下为SpringMVC配置 -->  
    <mvc:annotation-driven>  
        <!-- 返回json数据,@response使用 -->  
        <mvc:message-converters register-defaults="true">  
            <bean  
                class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">  
                <property name="supportedMediaTypes">  
                    <list>  
                        <value>text/html;charset=UTF-8</value>  
                        <value>application/json;charset=UTF-8</value>  
                    </list>  
                </property>  
 
            </bean>  
        </mvc:message-converters>  
    </mvc:annotation-driven>  
 
    <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->  
    <bean  
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <property name="viewClass"  
            value="org.springframework.web.servlet.view.JstlView" />  
        <property name="prefix" value="/WEB-INF/pages/" />  
        <property name="suffix" value=".jsp" />  
    </bean>  
 
</beans>



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值