目录
1IDEA2017创建maven web工程
1.1开发环境
1.2创建maven web项目
1.3项目部署
2.SSM整合
2.1打开IDEA,创建项目目录如下图所示
2.2创建配置文件
2.2.1pom.xml
2.2.2数据库配置文件db.properties
2.2.3日志配置文件log4j.properties
2.2.4spring-mvc.xml
2.2.5SqlMapConfig.xml
2.2.6spring-mybatis.xml
2.2.7web.xml
2.3创建pojo实体类User.java
2.4dao层及mapper.xml文件
2.4.1UserMapper.java
2.4.2UserMapper.xml
2.5service层及其实现类
2.5.1service.java
2.5.2serviceImpl.java
2.6Controller层
2.6.1UserController.java
3.测试
3.1启动tomcat
3.2注册用户成功
首先打开idea,点击“create new project“,在左边一栏找到maven,右边把“create from archetype“钩上,根据模版来创建项目,注意在选择模版的时候一定要选择org.apache.maven.archetype下的webapp项目。
这里点finish就完成来maven项目的创建
在maven项目创建完后,idea会开始下载maven所需要的依赖,这时需要网络好才能成功完成创建。当项目成功创建后的结构如下图:
现在需要对项目进行配置,点击project structure(上图最上面一栏倒数第四个图标),点击后弹出下面的框。
选择Facets
点击apply后,选择左边栏的artifacts进行配置,点击+ ,选择web application:exploded, 选择form modules,选择我们的web项目,点击ok后如下图
点击apply 后点击ok就完成来web项目的配置。
下面我们将web项目部署到tomcat服务器中,首先在run菜单下找到edit configurations,点击后,选择+,找到tomcat server中的local。
name可以根据自己的喜好来填,第一次使用tomcat服务器的同学需要配置application server,选择我们电脑下的tomcat服务器的路径。接着点击deployment,选择+,arifacts,将我们前面配置的artifacts部署到tomcat中,我们可以在application context配置项目的路径。然后点击apply,ok完成tomcat服务器配置。
接下来我们就可以运行啦,看看是否部署成功。点击下图中的爬虫一样的按钮debug,可以看到tomcat服务器正在启动中,如果tomcat服务器没有问题就可以成功的启动。
4.0.0
com.gym
gymSys
war
1.0-SNAPSHOT
gymSys Maven Webapp
http://maven.apache.org
UTF-8
4.3.8.RELEASE
3.2.8
org.springframework
spring-core
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-aop
${spring.version}
org.aspectj
aspectjrt
1.8.6
org.aspectj
aspectjweaver
1.8.6
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.3
mysql
mysql-connector-java
5.1.38
com.alibaba
druid
1.0.9
jstl
jstl
1.2
log4j
log4j
1.2.17
org.slf4j
slf4j-log4j12
1.7.21
javax.servlet
javax.servlet-api
3.1.0
provided
javax.servlet.jsp
jsp-api
2.1
provided
junit
junit
3.8.1
test
org.projectlombok
lombok
1.16.18
com.github.pagehelper
pagehelper
3.4.2-fix
javax.mail
mail
1.3.2
javax.websocket
javax.websocket-api
1.1
provided
org.springframework
spring-websocket
4.0.1.RELEASE
org.codehaus.jackson
jackson-mapper-asl
1.9.12
com.fasterxml.jackson.core
jackson-databind
2.7.4
com.fasterxml.jackson.core
jackson-core
2.7.4
com.fasterxml.jackson.core
jackson-annotations
2.7.4
gymSys
src/main/java
**/*.properties
**/*.xml
false
src/main/resources
**/*.properties
**/*.xml
false
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/gym?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=root
jdbc.maxActive=10
jdbc.minIdle=5
### Log4j配置 ###
### 与Spring结合需要在web.xml中指定此文件位置,并添加监听器 ###
#定义log4j的输出级别和输出目的地(目的地可以自定义名称,和后面的对应)
#[ level ] , appenderName1 , appenderName2
log4j.rootLogger=DEBUG,console,file
#-----------------------------------#
#1 定义日志输出目的地为控制台
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold=DEBUG
####可以灵活地指定日志输出格式,下面一行是指定具体的格式 ###
#%c: 输出日志信息所属的类目,通常就是所在类的全名
#%m: 输出代码中指定的消息,产生的日志具体信息
#%n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%c]-%m%n
#-----------------------------------#
#2 文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.file = org.apache.log4j.RollingFileAppender
#日志文件输出目录
log4j.appender.file.File=log/tibet.log
#定义文件最大大小
log4j.appender.file.MaxFileSize=10mb
###输出日志信息###
#最低级别
log4j.appender.file.Threshold=ERROR
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n
#4 mybatis 显示SQL语句部分
log4j.logger.org.mybatis=DEBUG
#log4j.logger.cn.tibet.cas.dao=DEBUG
#log4j.logger.org.mybatis.common.jdbc.SimpleDataSource=DEBUG#
#log4j.logger.org.mybatis.common.jdbc.ScriptRunner=DEBUG#
#log4j.logger.org.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG#
#log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
Archetype Created Web Application
contextConfigLocation
classpath:config/spring/spring-mybatis.xml
classpath:config/shiro/shiro.xml
log4jConfigLocation
classpath:log4j.properties
log4jRefreshInterval
60000
org.springframework.web.util.Log4jConfigListener
org.springframework.web.context.ContextLoaderListener
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
CharacterEncodingFilter
/*
shiroFilter
org.springframework.web.filter.DelegatingFilterProxy
true
targetFilterLifecycle
true
package com.gym.pojo;
import lombok.Data;
@Data
public class User {
private Integer userId;
private String userName;
private String userPassword;
private String userEmail;
private String userPhone;
private String userPhoto;
}
package com.gym.dao;
import com.gym.pojo.User;
public interface UserMapper {
int deleteByPrimaryKey(Integer userId);
int insert(User record);
int insertSelective(User record);
User selectByPrimaryKey(Integer userId);
int updateByPrimaryKeySelective(User record);
int updateByPrimaryKey(User record);
}
user_id, user_name, user_password, user_email, user_phone, user_photo
delete from user
where user_id = #{userId,jdbcType=INTEGER}
insert into user (user_id, user_name, user_password,
user_email, user_phone, user_photo
)
values (#{userId,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR}, #{userPassword,jdbcType=VARCHAR},
#{userEmail,jdbcType=VARCHAR}, #{userPhone,jdbcType=VARCHAR}, #{userPhoto,jdbcType=VARCHAR}
)
insert into user
user_id,
user_name,
user_password,
user_email,
user_phone,
user_photo,
#{userId,jdbcType=INTEGER},
#{userName,jdbcType=VARCHAR},
#{userPassword,jdbcType=VARCHAR},
#{userEmail,jdbcType=VARCHAR},
#{userPhone,jdbcType=VARCHAR},
#{userPhoto,jdbcType=VARCHAR},
update user
user_name = #{userName,jdbcType=VARCHAR},
user_password = #{userPassword,jdbcType=VARCHAR},
user_email = #{userEmail,jdbcType=VARCHAR},
user_phone = #{userPhone,jdbcType=VARCHAR},
user_photo = #{userPhoto,jdbcType=VARCHAR},
where user_id = #{userId,jdbcType=INTEGER}
update user
set user_name = #{userName,jdbcType=VARCHAR},
user_password = #{userPassword,jdbcType=VARCHAR},
user_email = #{userEmail,jdbcType=VARCHAR},
user_phone = #{userPhone,jdbcType=VARCHAR},
user_photo = #{userPhoto,jdbcType=VARCHAR}
where user_id = #{userId,jdbcType=INTEGER}
package com.gym.service;
import com.gym.pojo.User;
public interface UserService {
Integer addUser(User user);
}
package com.gym.service.Impl;
import com.gym.dao.UserMapper;
import com.gym.pojo.User;
import com.gym.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserMapper userMapper;
public Integer addUser(User user) {
return userMapper.insert(user);
}
}
package com.gym.controller;
import com.gym.pojo.User;
import com.gym.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/user/")
public class UserController {
@Autowired
private UserService userSerivce;
@RequestMapping(value = "register.do")
@ResponseBody
private void register(User user){
System.out.println(user.toString());
userSerivce.addUser(user);
}
}
使用IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目到此结束!(仅为笔记,有错误欢迎指正!!!)