之前用myeclipse做的一个课设,用的ssm框架,没有maven,所以想着能不能用spring boot做一下
这里说一下为什么要用spring boot
主要是最近在学spring boot啦,用这个项目来练一下手。
优点是显而易见的,spring boot相比于传统的spring省去了繁琐的配置,甚至这个项目中我都没有去管web.xml。只需要将必须的信息:如数据库信息,mapper文件位置放到启动类所用的application.properties中就行了,很方便。
话不多说,直接开始,搭建项目
- 项目结构
模块说明
springbootsmsm:父模块,聚合所有子模块,打包方式pom
smsm-common:公共模块,用来放公共资源。jar
smsm-dao:持久层模块,用来操作数据库。jar
目录结构:
smsm-service:服务接口模块。jar
目录结构:
smsm-service-iml:服务实现模块。jar
目录机构:
smsm-web:web层,打war包。
目录结构:项目的启动类在这个模块中,所以所有的配置信息也在这个模块中。
其中的依赖关系:
dao,service,serviceimpl,web都依赖model模块
web依赖service和serviceimpl
serviceimpl依赖dao。
- 编辑pom文件,添加依赖
父模块的pom,将项目中所需要的jar包依赖全部添加进来,在子模块中就不用考虑jar包的问题了
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yangqi.smsm</groupId>
<artifactId>spring-boot-smsm</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>smsm-service</module>
<module>smsm-service-impl</module>
<module>smsm-dao</module>
<module>smsm-common</module>
<module>smsm-model</module>
<module>smsm-web</module>
</modules>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--新增所需依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<!-- servlet依赖. -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
子模块中,将我说的依赖关系加上就行。
- 添加配置信息,在web模块的resources中新建application.properties文件
# 数据库连接信息
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/smsm?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
# 整合mybatis
mybatis.mapper-locations = classpath:mapper/*.xml
mybatis.type-aliases-package=com.smsm.mapper
# jsp配置
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
- 编辑启动类,在web模块中新建类,applicatin.java
package com.smsm;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages = "com.smsm")
@MapperScan(basePackages = "com.smsm.mapper")
public class ApplicationStarter {
public static void main(String[] args) {
SpringApplication.run(ApplicationStarter.class,args);
}
}
- 测试,web中新建controller,service新建service接口,iml中实现,dao中创建mapper接口和xml文件,试试能不能走通
controller
package com.smsm.controller;
import com.smsm.model.User;
import com.smsm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
public class TestController {
@Autowired
UserService userService;
@RequestMapping("/test")
public User findUser(){
User user;
System.out.println("lailelaodi");
user = userService.findUserInfo("13280845908");
return user;
}
}
service层和dao层代码就不贴了,很简单。
运行application的main方法,启动项目。
访问:localhost:8080/test
控制台打印:
搭建好了!!!!!!!!
=-=,昨天折腾了一天,今天终于搭好了,目前只是把之前的功能移植过来,还没添加spring boot的功能,之后再加。