2019独角兽企业重金招聘Python工程师标准>>>

项目是通过maven管理搭建的,不会maven的小伙伴可以先去了解下maven项目的搭建。

代码下载地址(git):https://git.oschina.net/x2xw/JavaWebProject.git

自我学习,回顾加深记忆。废话不多说,开干。

项目结构:

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/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.fengzhi.web</groupId><artifactId>Struts2SpringHibernate</artifactId><packaging>war</packaging><version>1.0</version><name>Struts2SpringHibernate Maven Webapp</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><struts2.version>2.3.30</struts2.version><spring.version>4.3.3.RELEASE</spring.version><hibernate.version>4.3.11.Final</hibernate.version></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-framework-bom</artifactId><version>${spring.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId><version>${struts2.version}</version></dependency><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-spring-plugin</artifactId><version>${struts2.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.14</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>${hibernate.version}</version><exclusions><exclusion><groupId>org.javassist</groupId><artifactId>javassist</artifactId></exclusion></exclusions></dependency><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.2</version></dependency><dependency><groupId>commons-dbcp</groupId><artifactId>commons-dbcp</artifactId><version>1.4</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.38</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies><build><finalName>Struts2SpringHibernate</finalName><plugins><!-- 编译插件版本和jvm版本 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.5.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.17</version><configuration><skip>true</skip><forkMode>once</forkMode><argLine>-Dfile.encoding=UTF-8</argLine></configuration></plugin><!-- 编码 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-site-plugin</artifactId><version>3.5.1</version><configuration><outputEncoding>UTF-8</outputEncoding></configuration></plugin><plugin><groupId>org.eclipse.jetty</groupId><artifactId>jetty-maven-plugin</artifactId><version>9.3.12.v20160915</version><configuration><jettyXml>jetty.xml,jetty-ssl.xml,jetty-https.xml</jettyXml></configuration></plugin></plugins><resources><resource><directory>src/main/resources</directory><filtering>true</filtering></resource></resources></build>
</project>

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"
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>Struts2SpringHibernate</display-name><!-- 解决乱码问题 --><filter><filter-name>SpringEncodingFilter</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>SpringEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 日志配置文件路径 --><context-param><param-name>log4jConfigLocation</param-name><param-value>classpath:log4j.properties</param-value></context-param><context-param><!-- 日志页面的刷新间隔 --><param-name>log4jRefreshInterval</param-name><param-value>6000</param-value></context-param><!-- 配置日志监听器 --><listener><listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener><!-- 防止发生java.beans.Introspector内存泄露,应将它配置在ContextLoaderListener的前面 --><listener><listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class></listener><!-- 初始化Spring容器 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:applicationContext.xml,classpath*:spring-*.xml</param-value></context-param><!-- 解决hibernate延迟加载问题 --><filter><filter-name>Spring OpenEntityManagerInViewFilter</filter-name><filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class><async-supported>true</async-supported></filter><filter-mapping><filter-name>Spring OpenEntityManagerInViewFilter</filter-name><url-pattern>/*</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>ASYNC</dispatcher></filter-mapping><!-- 定义Struts 2的FilterDispathcer的Filter --><filter><filter-name>struts2Filter</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class><init-param><param-name>config</param-name><param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value></init-param></filter><!-- FilterDispatcher用来初始化Struts 2并且处理所有的WEB请求。 --><filter-mapping><filter-name>struts2Filter</filter-name><url-pattern>*.do</url-pattern></filter-mapping><!-- Welcome file lists --><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>
</web-app>

applicationContext.xml:配置数据源、sessionFactory、aop 管理事务

<?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:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd"><!-- 加载配置文件 --><bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations" value="classpath:jdbc.properties" /></bean><!-- dbcp 连接池配置 --><bean id="dbcpDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="${jdbc.driver.driverClassName}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><!-- 初始连接数 --><property name="initialSize" value="${dbcp.initialSize}" /><!-- 连接池中可同时连接的最大的连接数 --><property name="maxActive" value="${dbcp.maxActive}" /><!-- 最大空闲数,数据库连接的最大空闲时间。--><!-- 超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制 --><property name="maxIdle" value="${dbcp.maxIdle}" /><!-- 最大等待时间,当没有可用连接时,连接池等待连接释放的最大时间,超过该时间限制会抛出异常 --><property name="maxWait" value="${dbcp.maxWait}" /></bean><!-- hibernate session 工厂 --><bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><property name="dataSource" ref="dbcpDataSource" /><property name="mappingDirectoryLocations"><list><value>classpath*:com/fengzhi/web/entity</value></list></property><!-- 定义Hibernate的SessionFactory的属性 --><property name="hibernateProperties"><props><prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop><prop key="hibernate.dialect">${hibernate.dialect}</prop><prop key="hibernate.show_sql">${hibernate.show_sql}</prop><prop key="hibernate.format_sql">${hibernate.format_sql}</prop><!-- 强制Hibernate按照被更新数据的主键,为SQL更新排序。--><!--这么做将减少在高并发系统中事务的死锁。 取值 true | false --><prop key="hibernate.order_updates">${hibernate.order_updates}</prop><!-- 如果开启, Hibernate将收集有助于性能调节的统计数据.取值true|false --><prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop></props></property></bean><bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean><!-- 配置事务增强处理,指定事务管理器 --><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><!-- 只读 --><tx:method name="get*" read-only="true" /><tx:method name="find*" read-only="true" /><tx:method name="load*" read-only="true" /><!-- 默认 --><tx:method name="*" /></tx:attributes></tx:advice><aop:config><!-- 定义切入点 --><!-- ..匹配0个或多个:1..:service包或子包;2..:一个或多个参数 --><!-- *匹配全部或部分名称:1*:返回类型(void/String)、--><!-- 2*:service接口(UserServiceImpl)、4*:方法名(getUser(..);) --><aop:pointcut id="pointcut" expression="execution(* com.fengzhi.web.service..*Service.*(..))" /><!-- 指定pointcut 切入点应用txAdvice事务处理 --><aop:advisor pointcut-ref="pointcut" advice-ref="txAdvice" /></aop:config><bean id="basicDao" class="com.fengzhi.web.dao.core.impl.BasicDaoImpl"><property name="sessionFactory" ref="sessionFactory" /></bean><bean id="genericDao" class="com.fengzhi.web.dao.core.impl.GenericDaoImpl" parent="basicDao" />
</beans>

jdbc.properties:

# mysql jdbc
jdbc.database=dome
jdbc.driver.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/${jdbc.database}?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=root#dbcp connection pool
dbcp.maxActive=10
dbcp.maxWait=1800
dbcp.maxIdle=50
dbcp.initialSize=5# c3p0 connection pool
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=1800
hibernate.c3p0.max_statements=50
hibernate.c3p0.acquire_increment=5
hibernate.c3p0.idle_test_period=300
hibernate.c3p0.validate=true# hibernate config
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql=false
hibernate.format_sql=true
hibernate.default_batch_fetch_size=8
hibernate.order_updates=true
hibernate.order_by.default_null_ordering=last
hibernate.generate_statistics=false
hibernate.use_identifier_rollback=true
hibernate.use_sql_comments=true    hibernate.jdbc.batch_size=10
hibernate.jdbc.batch_versioned_data=true
hibernate.jdbc.use_get_generated_keys=truehibernate.cache.use_minimal_puts=true
hibernate.cache.use_query_cache=true
hibernate.cache.use_second_level_cache=true
hibernate.cache.provider_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
hibernate.cache.use_structured_entries=true
hibernate.cache.auto_evict_collection_cache=true
hibernate.cache.use_reference_entries=true
hibernate.current_session_context_class=thread
hibernate.hbm2ddl.auto=update 

log4j.properties:日志文件,暂时没有去理会,赋值官网的。


log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%nlog4j.rootLogger=info, stdoutlog4j.logger.org.hibernate.tool.hbm2ddl=debug
log4j.logger.org.hibernate.testing.cache=debug

struts.xml:配置struts2,这里提供一个简单版,所以内容比较少。因为是通过spring管理action,所以class对应spring beans中的bean id。

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><!-- struts2 默认为.action,所以无法处理其他后缀方式的请求;我们可以通过以下配置处理我们自定义的请求 --><constant name="struts.action.extension" value="do,action"/>  <package name="default" namespace="/" extends="struts-default"><action name="hello" class="userAction"><result>/index.jsp</result></action></package></struts>

spring-action.xml:action bean配置,可以和Service、dao配置在一个文件,这里我把他们分开配置了。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd "><bean id="userAction" class="com.fengzhi.web.action.UserAction" scope="prototype"><property name="userService" ref="userService" /></bean>
</beans>

UserAction.java

package com.fengzhi.web.action;import org.apache.log4j.Logger;import com.fengzhi.web.entity.TbUser;
import com.fengzhi.web.service.ssh.IUserService;
import com.opensymphony.xwork2.ActionSupport;@SuppressWarnings("serial")
public class UserAction extends ActionSupport {private IUserService userService;private Logger log = Logger.getLogger(getClass().getName());@Overridepublic String execute() throws Exception {log.info("welcome !");TbUser user = userService.findUserByUsername("luffy");log.info(user != null ? user.getUsername() : "not find user");return SUCCESS;}public IUserService getUserService() {return userService;}public void setUserService(IUserService userService) {this.userService = userService;}}

spring-servcie.xml:Service配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd "><bean id="userService" class="com.fengzhi.web.service.ssh.impl.UserServiceImpl"><property name="userDao" ref="userDao" /></bean>
</beans>

UserServiceImpl.java:接口自己添加这里就不发布出来了。

package com.fengzhi.web.service.ssh.impl;import com.fengzhi.web.dao.ssh.IUserDao;
import com.fengzhi.web.entity.TbUser;
import com.fengzhi.web.service.ssh.IUserService;public class UserServiceImpl implements IUserService {private IUserDao userDao;@Overridepublic TbUser findUserByUsername(String username) {return userDao.findUserByUsername(username);}public IUserDao getUserDao() {return userDao;}public void setUserDao(IUserDao userDao) {this.userDao = userDao;}@Overridepublic void addUser(TbUser user) {userDao.addUser(user);}}

spring-dao.xml:dao配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd "><bean id="userDao" class="com.fengzhi.web.dao.ssh.impl.UserDaoImpl" parent="genericDao" />
</beans>

UserDaoImpl.java

package com.fengzhi.web.dao.ssh.impl;import java.util.List;import com.fengzhi.web.dao.core.impl.GenericDaoImpl;
import com.fengzhi.web.dao.ssh.IUserDao;
import com.fengzhi.web.entity.TbUser;public class UserDaoImpl extends GenericDaoImpl<TbUser> implements IUserDao {@SuppressWarnings("unchecked")@Overridepublic TbUser findUserByUsername(String username) {log.info("根据用户名获取用户对象!");String hql = "from TbUser where username = ? ";Object[] values = new Object[] { username };List<TbUser> userList = (List<TbUser>) getHibernateTemplate().find(hql, values);if (userList != null && !userList.isEmpty()) {return userList.get(0);}return null;}@Overridepublic void addUser(TbUser user) {save(user);}}

TbUser.java:实体对象类

package com.fengzhi.web.dao.ssh.impl;import java.util.List;import com.fengzhi.web.dao.core.impl.GenericDaoImpl;
import com.fengzhi.web.dao.ssh.IUserDao;
import com.fengzhi.web.entity.TbUser;public class UserDaoImpl extends GenericDaoImpl<TbUser> implements IUserDao {@SuppressWarnings("unchecked")@Overridepublic TbUser findUserByUsername(String username) {log.info("根据用户名获取用户对象!");String hql = "from TbUser where username = ? ";Object[] values = new Object[] { username };List<TbUser> userList = (List<TbUser>) getHibernateTemplate().find(hql, values);if (userList != null && !userList.isEmpty()) {return userList.get(0);}return null;}@Overridepublic void addUser(TbUser user) {save(user);}}

user.hbm.xml:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.fengzhi.web.entity"><class name="TbUser" table="tb_user"><id name="userId" column="user_id"><generator class="identity" /></id><property name="username" type="string" column="username" /><property name="password" type="string" column="password" /></class></hibernate-mapping>

数据访问基类:BasicDaoImpl、GenericDaoImpl

package com.fengzhi.web.dao.core.impl;import java.io.Serializable;import org.apache.log4j.Logger;
import org.springframework.orm.hibernate4.support.HibernateDaoSupport;import com.fengzhi.web.dao.core.IBasicDao;public class BasicDaoImpl extends HibernateDaoSupport implements IBasicDao {public Logger log = Logger.getLogger(getClass().getName());@Overridepublic <T> void save(T entity) {this.getHibernateTemplate().save(entity);}@Overridepublic <T> void delete(T entity) {this.getHibernateTemplate().delete(entity);}@Overridepublic <T> void update(T entity) {this.getHibernateTemplate().update(entity);}@SuppressWarnings({ "unchecked", "rawtypes" })@Overridepublic <T> T getById(Class entityClass, Serializable id) {return (T) this.getHibernateTemplate().get(entityClass, id);}}
package com.fengzhi.web.dao.core.impl;import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;import com.fengzhi.web.dao.core.IGenericDao;public class GenericDaoImpl<T> extends BasicDaoImpl implements IGenericDao<T> {protected Class<T> entityClass;protected String className;@SuppressWarnings({ "unchecked", "rawtypes" })public GenericDaoImpl() {this.entityClass = null;Class c = getClass();Type t = c.getGenericSuperclass();if (t instanceof ParameterizedType) {Type[] p = ((ParameterizedType) t).getActualTypeArguments();this.entityClass = (Class<T>) p[0];this.className = entityClass.getName();}}@Overridepublic T getById(Serializable id) {return this.getById(entityClass, id);}}

测试类:测试Service、dao编写是否正确,取得数据是否是自己想要的。

package com.fengzhi.web.test;import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.fengzhi.web.entity.TbUser;
import com.fengzhi.web.service.ssh.IUserService;public class UserTest {private IUserService userService;@Beforepublic void init() {String[] xml = new String[] { "applicationContext.xml", "spring-service.xml", "spring-dao.xml" };@SuppressWarnings("resource")ApplicationContext context = new ClassPathXmlApplicationContext(xml);userService = (IUserService) context.getBean("userService");}public void testFindUser() {TbUser user = userService.findUserByUsername("nami");System.out.println(user != null ? user.getUsername() : "not find user");}@Testpublic void testAddUser() {TbUser user = new TbUser();user.setUsername("shanzhi");user.setPassword("shanzhi");userService.addUser(user);}
}

语音描述比较少,还望见谅。项目是通过maven构建的,下载下来也需要有maven环境。如果不想弄maven那就直接复制代码,自己重新构建项目。

Jar包:

转载于:https://my.oschina.net/fengzhi714/blog/760820

Struts2+Spring4+Hibernate4项目整合相关推荐

  1. 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境

    做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...

  2. Maven+struts2+spring4+hibernate4的环境搭建

    搭建Maven+struts2+spring4+hibernate4其实并不难!但开始弄的时候还是费了我好大的力气,老是出现这样那样的错误!好了,废话不多说,开始搭建开发环境. 一.Myeclipse ...

  3. 【SSH网上商城项目实战01】整合Struts2、Hibernate4.3和Spring4.2

    转自:https://blog.csdn.net/eson_15/article/details/51277324 今天开始做一个网上商城的项目,首先从搭建环境开始,一步步整合S2SH.这篇博文主要总 ...

  4. Struts2和hibernate框架整合实现简单的注册登陆功能

    Struts2和hibernate框架整合实现简单的注册登陆功能 项目结构: LoginAction.java package action; import vo.User; import vo.Us ...

  5. mongodb java项目 源码_spring项目整合mongodb进行开发

    spring项目整合mongodb进行开发: MongoDB的性能指标: 100个并发,插入550万条记录的平均吞吐量:大约4100条/秒 MONGODB实际上是一个内存数据库,先将数据保存到内存,然 ...

  6. Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo

    Docker 部署SpringBoot项目整合 Redis 镜像做访问计数Demo 最终效果如下 大概就几个步骤 1.安装 Docker CE 2.运行 Redis 镜像 3.Java 环境准备 4. ...

  7. struts2+hibernate-jpa+Spring+maven 整合(1)

    1.0.0 struts2 与 spring 的整合. 1.1.0 新建maven工程 , 编写pom.xml ,这里只需要简单的添加 一个组件就够了: 在myeclipse 生成的pom.xml 添 ...

  8. Spring Boot + BeetlSQL + H2数据库项目整合

    Spring Boot + BeetlSQL + H2数据库项目整合 这个项目是一个大佬给的,目的是看我的自学能力和基础知识的牢固程度,要求如下: 底层架构采用springboot 前端技术使用lay ...

  9. PMP-【第4章 项目整合管理】-2021-1-18(88页-115页)

    不是推荐书籍,为了今年备考PMP,所以在此地做个笔记,今后也能够回顾,同时也能激励自己坚持学下去. 1.什么是项目整合? 2.项目经理的角色很重要,当然要求也很高 3.这个图阐明了各输入输出过程的关系 ...

  10. dao加service加mysql实例_SpringBoot项目整合mybatis的方法步骤与实例

    1. 导入依赖的jar包 springboot项目整合mybatis之前首先要导入依赖的jar包,配置pom.xml文件如下: xmlns:xsi="http://www.w3.org/20 ...

最新文章

  1. python使用sklearn的ConfusionMatrixDisplay来可视化混淆矩阵
  2. android setContentView()
  3. Vuex 2.0 源码分析
  4. Python编程语言学习:两行代码输出根目录下所有子文件夹的绝对路径、相对路径
  5. 转正答辩提问_电信专业学生党支部预备党员转正答辩
  6. 阿里云混合云联合信通院发布《基于云计算的数字化业务安全工程要求》
  7. ConcurrentHashMap的源码分析-扩容过程图解
  8. POJ1330-Nearest Common Ancestors【tarjan,LCA】
  9. 前端学习(811):api和webapi
  10. 信息学奥赛一本通 1011:甲流疫情死亡率 | OpenJudge NOI 1.3 06
  11. 基于jQuery焦点图片新闻代码(JS+CSS)
  12. 什么时候出python4_什么?Python4要来了?快来看看Python之父怎么说
  13. 手机号归属地_【号码归属地查询工具】
  14. Spark采用分区方式读取数据库时partitionColumn, lowerBound, upperBound, numPartitions的理解与验证
  15. 网址出现dns_probe_finished_no_internet
  16. pandas数据分析之数据重塑透视(stack、unstack、melt、pivot)
  17. 组合数c(n,m)计算的四种方法
  18. 基于低代码开发平台实现的企业OA升级替换方案
  19. 如何redis关闭保护模式,取消密码登录
  20. 真正的自由是节制欲望自律简朴地去生活

热门文章

  1. html 复选框全选、反选操作
  2. 悄悄安装vcredist_x64.exe,不弹出对话框
  3. SVN替换图标后依然显示老图标的BUG
  4. QQ文件上传不了:什么年代了,还使用简单的关键词过滤,智能一点可好
  5. 解决办法:gtk_image_menu_item_set_image()菜单图标无法显示
  6. 开会时,尽量考虑录音
  7. NV21数据的镜像算法
  8. linux 校园网 热点,Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点...
  9. C# richTextBox滚动到最后一行 显示最后一行 自动跳转最后一行
  10. android设计个人简历页面_制作个人简历网站教程