第一篇:使用idea搭建ssm项目
说明:这是个人的毕业设计,本人小菜鸡一只,就想记录一下。由于在公司实习,所以预计半年完成该设计,项目使用idea + tomcat编写,会用到以下技术,有些技术我也不了解,我们一起边写边学
- 前段采用html,css,js,后台采用Java
- 使用ssm框架搭建后台(mybatis-plus)
- 使用angularjs实现前端后台的交互
- 前端采用ionic框架
let’s do it
- 点击create new project
- 然后填写一下
- 然后就是选择maven
- 填写项目名和项目放的路径,我就不截图了
- 紧接着便是修改pom.xml文件了,目的是为项目添加依赖,就是添加jar包
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<!-- 表示开发的时候引入,发布的时候不会加载此包 -->
<scope>test</scope>
</dependency>
<!-- spring引入start-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<!-- spring引入end-->
<!-- servlet引入start-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!-- servlet引入end-->
<!--JSTL引入start-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!--JSTL引入end-->
<!--数据库连接的包start-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<!--数据库连接包end-->
<!-- mybatis核心包 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>2.2.0</version>
</dependency>
<!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- log start -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!--阿里巴巴数据库连接的包start-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.18</version>
</dependency>
<!--阿里巴巴数据库连接的包end-->
<!-- 添加json的依赖包 start-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.31</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.7.4</version>
</dependency>
<!-- 添加json的依赖包 end-->
</dependencies>
点击Import Changes,idea就会开始导入jar包了
- 建好目录,我将摒弃jsp页面,使用html来代替他,所以就没有jsp文件。将java包标记成sources,蓝色的,鼠标放在java包上,右键->Mark Derectory As ->Sources Root。将resources包标记成Rescources Root
- 在resources中创建ssm的配置文件,包括数据库配置文件,mybatis的配置文件
- spring-mybatis.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<!-- 自动扫描 -->
<context:component-scan base-package="com.renttravel.controller" />
<!-- 引入配置文件 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:jdbc.properties" />
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
<!-- 初始化连接大小 -->
<property name="initialSize" value="${initialSize}"></property>
<!-- 连接池最大数量 -->
<property name="maxActive" value="${maxActive}"></property>
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="${maxIdle}"></property>
<!-- 连接池最小空闲 -->
<property name="minIdle" value="${minIdle}"></property>
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="${maxWait}"></property>
</bean>
<!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描mapping.xml文件 -->
<!--<property name="mapperLocations" value="classpath:com/renttravel/mapper/"></property>-->
</bean>
<!-- DAO接口所在包名,Spring会自动查找其下的类 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.nick.dao" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean>
<!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
</beans>
- mvc-disparcher文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<context:component-scan base-package="com.renttravel.controller;com.renttravel.service"/>
<mvc:annotation-driven/>
<mvc:default-servlet-handler/>
<!--静态资源的配置-->
<mvc:resources mapping="/resources/**" location="resources/"/>
<mvc:resources mapping="/js/**" location="WEB-INF/js/"/>
<mvc:resources mapping="/css/**" location="WEB-INF/css/"/>
<mvc:resources mapping="/img/**" location="WEB-INF/img/"/>
<mvc:resources mapping="/html/**" location="WEB-INF/html/"/>
<!--静态资源配置结束-->
<!--视图解析器,指定页面的路径以及文件后缀-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/html/"/>
<property name="suffix" value=".html"/>
</bean>
</beans>
静态资源的配置主要是为了不让框架拦截静态资源,例如js,css,img等文件,如果不加的话到时候页面的css,js文件不能访问
如果你要使用jsp的话,就将视图解析器里面的内容修改下
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
- jdbc.properties文件
- 到这里,配置文件就算完成了,我们可以开始写controller了
controller的书写
在controller文件夹下面新建一个IndexController.java
@Controller
public class IndexController {
@RequestMapping(value = "/index",method = RequestMethod.GET)
public String index(){
return "index";
}
}
在整个类前面加上@Controller注解,表明这是一个controller,然后在类里面写方法,方法上面有个@RequestMapping注解,作用是指定rest风格的api接口,就是收到/index的请求就到该方法来处理,return就是返回视图名字->index,视图解析器会自动在后面加上.html后缀,所以这里只需要写上文件名,不再需要后缀了。
idea配置tomcat
然后浏览器会自动弹出来,如果没有弹出来,就手动打开,在地址栏中输入localhost:8080/index,至此,ssm框架就算搭建完成啦,这里的index就是刚才的controller中的index,当然,你也可以将controller中方法上面requestMapping注解里面的index改成其他的,例如改成hello,改了代码过后需要重新启动tomcat,就是重新点击运行哪个按钮,浏览器中输入localhost:8080/hello就访问到同样的页面了