file–>new–>project
maven – > create from archetype -->Org.apache.cocoon:-22-archetype-webapp–>next–>finish
我们根据颜色判断你的java文件夹是不是源码文件夹、 resources文件夹上有没有三个横杆来判断你的 resources文件夹是不是资源文件的根目录。 如果不是请设置这一步
给文件夹java 、resources 含义:代码根目录、配置资源根目录
file选择 project Structure
定义一些属性 下面的依赖要用
UTF-8
1.7
1.7
4.0.2.RELEASE
3.2.6
1.7.7
1.2.16
加入依赖(依赖有点多,有些不是搭建必须的)
将以下依赖坐标放入标签里面
org.springframework
spring-core
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-oxm
${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.springframework
spring-context-support
${spring.version}
org.springframework
spring-test
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.2
javax
javaee-api
7.0
mysql
mysql-connector-java
8.0.20
commons-dbcp
commons-dbcp
1.2.2
jstl
jstl
1.2
log4j
log4j
${log4j.version}
com.alibaba
fastjson
1.1.41
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
org.codehaus.jackson
jackson-mapper-asl
1.9.13
commons-fileupload
commons-fileupload
1.3.1
org.mybatis.generator
mybatis-generator-core
1.3.6
commons-io
commons-io
2.6
commons-codec
commons-codec
1.11
org.apache.commons
commons-lang3
3.7
org.springframework
spring-aspects
5.2.7.RELEASE
javax.servlet
servlet-api
2.4
org.aspectj
aspectjweaver
1.8.7
Archetype Created Web Application
contextConfigLocation
classpath:spring.xml
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.IntrospectorCleanupListener
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
true
encoding
UTF-8
encodingFilter
/*
default
*.js
default
*.css
default
*.jsp
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springMvc.xml
1
true
SpringMVC
/
/index.html
/index.jsp
在resources 文件夹下新建文件jdbc.properties,具体内容如下:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/boot001?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
username=root
password=root
maxWait=6000
maxActive=20
minIdle=1
maxIdle=20
initialSize=0
特别注意驱动,不同版本的mysql的驱动是不同的,具体百度
在resources 文件夹下新建文件log4j.properties,具体内容如下:
#定义LOG输出级别
log4j.rootLogger=INFO,Console,File
#定义日志输出目的地为控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#可以灵活地指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n
#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File = org.apache.log4j.RollingFileAppender
#指定输出目录
log4j.appender.File.File = logs/ssm.log
#定义文件最大大小
log4j.appender.File.MaxFileSize = 10MB
#输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
你的项目应该不存在logs/ssm.log文件的去项目文件下新建: new -->file–>logs/ssm.log ,文件名logs/ssm.log,idea 会帮我们在项目下新建文件夹,文件夹下有一个文件ssm.log
这个文件加载了数据原配置 、配置了数据源、 mybatis 等
<-- 配置sqlSessionFactory 需要将 数据源 和 写sql的xml文件-->
<--配置持久层地址 也就是将持久的 mapper 接口 与sqlSessionFactory 中 xml 一一对应起来 -->
<--配置事务管理器, 事务管理器需要配置属性 dataSource-->
注意:
配置到这里由于 mapper文件下没有任何的 xml 文件 这个配置文件会报红,需要我们先随便在mapper 下新建一个xml 文件
并且注意一些包的路径,每个人的基础包不同、对于控制层、业务处理层、持久层等包的命名也不同。
text/html;charset=UTF-8
基础扫描路径:在这个路径下含有控制层、业务处理层、持久层。即使用了
import java.io.Serializable;
public class User implements Serializable {
private String id;
private String userName;
private String password;
private Integer age;
private static final long serialVersionUID = 1L;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", userName=").append(userName);
sb.append(", password=").append(password);
sb.append(", age=").append(age);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}
import com.wx.model.User;
public interface UserDao {
User getUserById(String id);
}
import com.wx.model.User;
public interface UserService {
User getUser(String id);
}
import com.wx.dao.UserDao;
import com.wx.model.User;
import com.wx.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserDao userDao;
@Override
public User getUser(String id) {
return userDao.getUserById(id);
}
}
import com.wx.model.User;
import com.wx.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.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
UserService userService;
@ResponseBody
@RequestMapping("/getUser")
public User getUser(@RequestParam("id") String id){
return userService.getUser(id);
}
}
注意@Controller@ResponseBody
如果前后端分离 就直接使用@RestController 代替@Controller与@ResponseBody
代码完毕,启动tomcat