Project2模板项目已经配置了基础的数据库连接池,spring,spring jpa,spring mvc,hibernate,一些不需要权限及后台管理界面的项目可以直接以该项目为基础开发。
首先,能打开这个文件代表至少你已经把项目从svn获取到本地了,下面的操作步骤将帮助你将项目运行起来。
项目运行先决条件
要运行项目,必须要先做好以下工作。
在机器上已经安装jdk1.8或更高版本的的JDK
已经确定项目名,并且在相应数据库系统上已经创建数据库和数据库用户,一般建议数据库和数据库用户名和项目名相同,这样可以减少配置工作。
已经安装idea或eclipse等开发工具(本文档以idea为例讲解,所以建议安装idea)
建议安装TortoiseSVN(小乌龟)
快速配置指南
我们假设模板项目已经复制到D:\workspace目录下了(d:\workspace\project2),我们现在要在该模板的基础上建一个新项目,项目名称叫tzdemo,数据库和用户名也都建好了,都叫tzdemo,用户密码为tz。
运行project1目录下delsvn.bat文件,删除原有svn信息。
打开project1目录下pom.xml文件,找到文件头部以下这段
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<!--项目信息 (*)-->
<groupId>cn.topcheer</groupId>
<artifactId>project2</artifactId>
<version>1.0.0</version>
将 <artifactId>project2</artifactId>
中的project2改成tzdemo,然后保存。修改完成后应该是这样的
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<!--项目信息 (*)-->
<groupId>cn.topcheer</groupId>
<artifactId>tzdemo</artifactId>
<version>1.0.0</version>
将project1目录改成tzdemo。
打开idea,选择 File->New->Project from Existing Sources 菜单,并在文件选择对话框中选择刚才的pom.xml文件,然后一直点下一步,直到向导完成。
将cn.topcheer.project2包改成cn.topcheer.tzdemo(项目叫tzdemo,如果是其他,相应改成其他)
修改dev.properties中数据库连接相关属性值
#数据库配置,这个根据具体数据库情况进行调整 jdbc.driverClassName=com.mysql.cj.jdbc.Driver #如果数据库名和项目名相同,数据库名可以用${projectName}代替 jdbc.url=jdbc:mysql://192.168.10.158:3306/${projectName}?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=UTF-8 #如果用户名和项目名相等,用户名可以用${projectName}代替 jdbc.user=${projectName} jdbc.password=tz
至此,项目本身配置已经完成 ,接下去可参数 通用WEB项目IDEA环境配置 文档完成项目运行环境配置,项目就能跑起来了,如果报错,检查项目名称,数据库名称,用户名,密码。
进阶配置指南
公司目前web项目的启动文件为web.xml,大多数类和对象均由spring进行管理,整个项目构建由maven负责,所以以下几个文件是配置的关键。
web.xml
web.xml里主要可能涉及到的配置是spring配置文件的增减,web.xml位于<root>\src\main\webapp\WEB-INF\web.xml。需要对下面段进行配置
<!--spring DispatcherServlet 加载spring配置-->
<servlet>
<servlet-name>Dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:spring-datasource.xml
,classpath:spring-main.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
spring 配置文件
增减spring配置文件都在 <param-value>.... </param-value> 中,加在该段中的spring在web容器运行时(项目运行时)都将被加载。我们可以看到,目前项目中加载了两个配置文件:spring-datasource.xml和spring-main.xml,前面的classpath:代表classes目录路径。所有spring配置文件都位于<root>\src\main\resources目录下
spring-datasource.xml
这个文件主要是加载连接池,目前连接池使用的是Druid,可以根据实际需要换成其他。这个文件位于resources目录下:
<!-- 数据源配置 Druid-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 基本属性 url、user、password -->
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="${minPoolSize}" />
<property name="minIdle" value="${minPoolSize}" />
<property name="maxActive" value="${maxPoolSize}" />
.....
可以看到有很多${}变量,这些值是由maven编译时进行替换的,详细见下文profiles节。
spring-main.xml
这个配置文件主要实现加载属性配置文件,注入pojo,dao,service,controller层,注入controller返回对象转json功能。该配置中的组件依赖spring-datasource.xml中的组件,所以要确保spring-datasource.xml被添加到web.xml中,不然会报错。里面涉及的${}变量,同样由maven编译时进行替换。
profiles
profiles指在maven编译时按指定环境属性文件中的值替换<root>\src\main\resources目录下配置文件中${}变量的值。属性文件位于<root>\src\main\env目录下,环境属性文件起名规则为环境.properties,现有dev.properties和product.properties两个环境属性文件。可根据不同的环境设置相应值(例如开发环境和生产环境连接的数据库参数值不同,那可以在dev.properties中配置开发环境的值,在product.properties中配置生产环境的值。在idea界面右侧maven projects 面板中 profiles目录中勾选其中某个环境,然后进行编译(compile)或打包(package)时,相应环境属性文件里的值就会被写入到<root>\src\main\resources目录下的配置文件中。环境属性文件中常见值说明如下(以dev.properties为例 )