SpringBoot+Maven项目实战(2):集成SpringBoot

来源:互联网 发布:db2 恢复数据库 编辑:程序博客网 时间:2024/04/30 15:13

项目结构图

这里写图片描述

1.pom文件添加SpingBoot依赖

<?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.sbm</groupId>    <artifactId>SpringBoot_Maven</artifactId>    <version>1.0-SNAPSHOT</version>    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>1.4.0.RELEASE</version>        <relativePath/> <!-- lookup parent from repository -->    </parent>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>        <java.version>1.7</java.version>    </properties>    <dependencies>    <!--支持 Web 应用开发,包含 Tomcat 和 spring-mvc。 -->    <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>    <!--模板引擎-->    <!--  <dependency>          <groupId>org.springframework.boot</groupId>          <artifactId>spring-boot-starter-thymeleaf</artifactId>      </dependency>-->    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-freemarker</artifactId>    </dependency>    <!--Json Support-->    <dependency>        <groupId>com.alibaba</groupId>        <artifactId>fastjson</artifactId>        <version>1.1.43</version>    </dependency>    <!--springboot中修改完文件后自动reload的插件,修改完文件Ctrl + F9 Make一下就可以-->    <dependency>        <groupId>org.springframework</groupId>        <artifactId>springloaded</artifactId>        <version>1.2.3.RELEASE</version>    </dependency>    <!--springboot中修改完文件后自动reload的插件 end--></dependencies><build><plugins>    <plugin>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-maven-plugin</artifactId>        <dependencies>            <dependency>                <groupId>org.springframework</groupId>                <artifactId>springloaded</artifactId>                <version>1.2.3.RELEASE</version>            </dependency>        </dependencies>    </plugin></plugins></build>        <!--配置远程仓库地址--><repositories><repository>    <id>spring-milestone</id>    <url>https://repo.spring.io/libs-release</url></repository></repositories>        <!--配置远程仓库地址--><pluginRepositories><pluginRepository>    <id>spring-milestone</id>    <url>https://repo.spring.io/libs-release</url></pluginRepository></pluginRepositories></project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83

2.编写启动类Applaction

package com.sbm;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.tomcat.jdbc.pool.DataSource;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.annotation.MapperScan;import org.mybatis.spring.mapper.MapperScannerConfigurer;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import org.springframework.jdbc.datasource.DataSourceTransactionManager;import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.annotation.EnableTransactionManagement;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * sbm * Created by yadong.zhang on com.sbm.application * User:yadong.zhang * Date:2016/10/20 * Time:18:15 *//** * 1).@SpringBootApplication标注启动配置入口,run()方法会创建一个Spring应用上下文(Application Context)。 * SpringBoot通过启动内嵌的Servlet容器(默认tomcat)用来处理Http请求。 * 2).@RestController是特殊的Controller,他的返回值直接作为Http Response的Body部分返回给浏览器 * 3).Spring WebMvc框架会将Servlet容器里收到的Http请求根据路径分发到对应的@Controller下进行处理。 */@EnableAutoConfiguration@SpringBootApplication@ComponentScan//@RestControllerpublic class Applaction {    @RequestMapping("/")    public String index(){        return "Spring Boot Application...";    }    public static void main(String[] args) {        SpringApplication.run(Applaction.class, args);    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

3.编写控制类Controller

package com.sbm.controller;import com.sbm.service.IMessageService;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import javax.annotation.Resource;import java.util.Date;import java.util.HashMap;import java.util.Map;/** * sbm * Created by yadong.zhang on com.sbm.controller * User:yadong.zhang * Date:2016/10/20 * Time:18:26 */@Controllerpublic class HelloController {    @RequestMapping("/hello/{name}")    public String hello(@PathVariable("name") String name, Model model) {        model.addAttribute("name", name);        model.addAttribute("age","25");        model.addAttribute("sex","man");        model.addAttribute("birth",new Date());        return "hello";    }    @RequestMapping("/json")    @ResponseBody    public Map<String,Object> json(){        Map<String,Object> map = new HashMap<String,Object>();        map.put("name","Flyat");        map.put("age","25");        map.put("sex","man");        return map;    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

4.测试页面访问看效果

这里写图片描述 
这里写图片描述 
这里写图片描述

前台页面渲染是使用的Freemarker模板,下节总结

原创粉丝点击