最近要做一个小的项目,之前做项目用的是Spring-Spring MVC-Mybatis架构,需要很多的配置文件。但是,发现了最近比较流行的Spring Boot框架,稍微了解一下便迫不及待的想动手试试了。
https://blog.csdn.net/zxl_dragon/article/details/80859856这篇文章更像详细
简介
:Spring Boot——微服务框架,简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
话不多说,下面介绍具体的案例开发。
环境
MyEclipse 2014,mysql,JDK1.7,maven3.0.0
框架搭建:
—–
1. 建立一个maven工程,在pom.xml文件中引入依赖的架包,因为页面用的是jsp,所以这里需要引入Servlet依赖和Tomact支持
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- servlet依赖. -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!-- tomcat的支持.-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!-- mysql依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.42</version>
</dependency>
<!-- mybatis依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
编写启动类
启动类要在普通类的父类路径下
package com.zzti;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* <pre>Spring Boot服务启动入口,使用了@SpringBootApplication注解,
* 会自动扫描该类子路径下所有
* @Controller、@Service、@Repository、@Conponent 等注解类</pre>
*
*/
@SpringBootApplication
@MapperScan("com.zzti.dao")//自动扫描注册bean
public class ApplicationStart {
public static void main(String[] args) {
SpringApplication.run(ApplicationStart.class, args);
}
}
编写配置文件 application.properties
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/areainfo
spring.datasource.username=root
spring.datasource.password=6486105
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.config-locations=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath\:mybatis/mapper/*.xml
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias alias="Integer" type="java.lang.Integer" />
<typeAlias alias="Long" type="java.lang.Long" />
<typeAlias alias="HashMap" type="java.util.HashMap" />
<typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" />
<typeAlias alias="ArrayList" type="java.util.ArrayList" />
<typeAlias alias="LinkedList" type="java.util.LinkedList" />
</typeAliases>
</configuration>
UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.zzti.dao.UserDao">
<resultMap type="com.zzti.entity.User" id="BaseResultMap">
<id column="id" property="id"/>
<result column="username" property="username" jdbcType="VARCHAR"/>
<result column="userpwd" property="userpwd" jdbcType="VARCHAR"/>
</resultMap>
<select id="getById" resultMap="BaseResultMap" parameterType="java.lang.Long">
select *from user where id=#{id}
</select>
<insert id="insertUser" parameterType="com.zzti.entity.User" useGeneratedKeys="true"
keyProperty="Id">
insert into test_user (Id,username,userpwd)
values (#{user.id},
#{user.username}, #{user.userpwd})
</insert>
</mapper>
Dao接口
package com.zzti.dao;
import com.zzti.entity.User;
public interface UserDao {
public User getById(long id);
public void insertUser(User user);
}
编写Controller
package com.zzti.controller;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.zzti.dao.UserDao;
import com.zzti.entity.User;
@Controller
public class TestController {
@Autowired
private UserDao userDao;
@RequestMapping("/hello")
public String hello(Map<String,Object> map){
User u=userDao.getById(1);
map.put("name",u.getUsername());
return "helloJsp";
}
}
编写View(helloJsp.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test</title>
</head>
<body>
hello,${name}
</body>
</html>
运行
运行ApplicationStart.class类
spring boot运行的标志
Spring Boot内置了一个Tomcat容器,启动成功后,在浏览器端输入localhost:8080/hello