一,新建maven项目,添加springboot依赖
1,新建maven项目,修改pom.xml添加parent,添加如下parent,version为springboot版本号
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
2,添加web支持,添加如下依赖,springboot会自动装载springmvc,无需额外配置前端控制器 .而且会给springboot默认内置一个Tomcat,如果想用其他的web容器,需要去除springboot 中默认的Tomcat 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
去除依赖使用<exclusions>标签
dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
3,添加jetty支持,springboot默认内置容器为tomcat,可根据情况修改为jetty,启动jetty需要jdk1.8
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
4,添加数据库配置,添加如下依赖,springboot会将springboot配置文件中的datasource配置自动注入到sqlsessionFactory中
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
二,搭建项目结构和springboot配置文件
1.编写springboot入口,整理包结构
新建一个入口类(带main方法)Applicationserver.java用于启动springboot,在类的头部加@SpringBootApplication注解
@SpringBootApplication
public class Application {
public static void main(String[] args){
SpringApplication.run(Application.class, args);
}
}
将入口类放在一级包目录下,将controller层和service层和dao层定义在二级包目录下,这样springboot会自动扫描到dao,service和controller并且会自动注入dao,service。也可以自定义扫码包使用@ComponentScan注解,例如:@ComponentScan(basePackages={"com.catic.common.aop","com.catic.test"}),引号内部为包路径,不同包路径之间用引号隔开。
2,配置文件采用yml文件形式,在项目resource目录下新建application.yml文件和application-dev.yml文件,在application.yml中引入其他配置文件和配置服务器端口号
spring:
profiles:
active: dev
server:
port: 9009
application-dev.yml为额外引入的配置文件,用于自定义配置这里用于配置数据源和mybatis,springboot集成mybatis需添加 springboot的mybatis启动器和mysql
!-- springboot的mybatis启动器 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
mybatis:
mapper-locations: classpath:com/catic/*/mapper/*.xml
type-aliases-package: com.catic.*.model
spring为一级目录顶格写,datasource为二级目录空两格,driver-class-name为三级目录在二级目录的基础上再空两格。mapper-locations配置mapper文件的位置*表示通配符,type-aliases-package配置数据库表的实体类的位置,最后在入口类加个@MapperScan("com.catic.*.dao")注解,引号里面写mapper接口位置