詳解MyEclipse中搭建spring-boot+mybatis+freemarker框架
1.在MyEclipse里創(chuàng)建一個maven項目。File>New>Maven Project:
勾選圖中紅色部分,然后點擊Next。

2.填寫下圖中紅色部分然后點擊Finish。

3.此時一個maven項目已經(jīng)生成,目錄結(jié)構(gòu)如下:

4.打開pom.xml在里面編輯如下內(nèi)容:
<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.lm.spring-boot</groupId>
<artifactId>spring-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--視圖采用freemarker渲染 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<!-- JDBC -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>
</dependencies>
</plugin>
</plugins>
<!-- 指定最終生成jar包的文件名-->
<finalName>spring-boot</finalName>
</build>
</project>
5.創(chuàng)建程序入口Application.java.
package com.lm.application;
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.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;
@EnableAutoConfiguration
@SpringBootApplication
@ComponentScan(basePackages={"com.lm"})//指定spring管理的bean所在的包
@MapperScan("com.lm.dao")//指定mybatis的mapper接口所在的包
public class Application{
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
//創(chuàng)建數(shù)據(jù)源
@Bean
@ConfigurationProperties(prefix = "spring.datasource")//指定數(shù)據(jù)源的前綴 ,在application.properties文件中指定
public DataSource dataSource() {
return new DataSource();
}
//創(chuàng)建SqlSessionFactory
@Bean
public SqlSessionFactory sqlSessionFactoryBean() throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource());
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mybatis/*.xml"));
return sqlSessionFactoryBean.getObject();
}
//創(chuàng)建事物管理器
@Bean
public PlatformTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource());
}
}
6.在src/main/resources下建立應用的配置文件application.properties。
#datasource spring.datasource.url=jdbc:mysql://127.0.0.1:3306/你的數(shù)據(jù)庫名稱?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull spring.datasource.username=數(shù)據(jù)庫用戶名 spring.datasource.password=數(shù)據(jù)庫密碼 spring.datasource.driver-class-name=com.mysql.jdbc.Driver # FREEMARKER (FreeMarkerAutoConfiguration) spring.freemarker.allow-request-override=false spring.freemarker.allow-session-override=false spring.freemarker.cache=true spring.freemarker.charset=UTF-8 spring.freemarker.check-template-location=true spring.freemarker.content-type=text/html spring.freemarker.enabled=true spring.freemarker.expose-request-attributes=false spring.freemarker.expose-session-attributes=false spring.freemarker.expose-spring-macro-helpers=true spring.freemarker.prefer-file-system-access=true spring.freemarker.suffix=.ftl spring.freemarker.template-loader-path=classpath:/templates/ spring.freemarker.settings.template_update_delay=0 spring.freemarker.settings.default_encoding=UTF-8 spring.freemarker.settings.classic_compatible=true spring.freemarker.order=1 #server server.port=80
相應的配置需要根據(jù)自己的實際情況去做修改。
7.在在src/main/resources下創(chuàng)建mybatis目錄并在目錄下創(chuàng)建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.lm.dao.UserMapper"> <select id="findAll" resultType="com.lm.model.User" parameterType="java.lang.String"> select id, username,password,email from t_user </select> </mapper>
8.創(chuàng)建UserController類和視圖文件:
package com.lm.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import com.lm.model.User;
import com.lm.service.UserService;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/list")
public String list(ModelMap map){
List<User> userList=userService.findAll();
map.addAttribute("userList", userList);
return "/user/list";
}
}
可以看出list方法返回的是一個字符串,因為我們給應用加載了freemarker模塊做視圖展現(xiàn),所以需要創(chuàng)建一個list模板,模板所在的目錄在application.properties中指定為spring.freemarker.template-loader-path=classpath:/templates/,所以我們需要在src/main/resources下創(chuàng)建templates目錄,然后在templates下創(chuàng)建user目錄,模板文件后綴在application.properties中指定為spring.freemarker.suffix=.ftl,所以最終建立一個list.ftl文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用戶列表</title>
</head>
<body>
<table>
<tr>
<th>id</th><th>用戶名</th><th>密碼</th><th>郵箱</th>
</tr>
<#list userList as user>
<tr>
<td>${user.id}</td> <td>${user.username}</td><td>${user.password}</td><td>${user.email}</td>
</tr>
</#list>
</table>
</body>
</html>
模板文件所在位置的目錄結(jié)構(gòu)如下圖:

9.創(chuàng)建UserService接口:
package com.lm.service;
import java.util.List;
import com.lm.model.User;
public interface UserService {
List<User> findAll();
}
10.創(chuàng)建UserServiceImpl類實現(xiàn)UserService接口:
package com.lm.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.lm.dao.UserMapper;
import com.lm.model.User;
import com.lm.service.UserService;
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserMapper userMapper;
@Override
public List<User> findAll() {
return userMapper.findAll();
}
}
11.創(chuàng)建UserMapper接口:
package com.lm.dao;
import java.util.List;
import com.lm.model.User;
public interface UserMapper {
List<User> findAll();
}
12.創(chuàng)建實體類User:
package com.lm.model;
public class User {
private Integer id;
private String username;
private String password;
private String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
13.至此spring-boot框架已搭建完成,然后在Application.java中run as >java application此時在控制臺會看到如下日志輸出:

14.打開瀏覽器在地址欄輸入http://localhost/user/list便可以看到以下效果:

15.在pom.xml文件上右鍵Run As>Maven install可將項目打包為jar文件,生成的jar在target目錄下,可以將此jar拷貝到服務器上通過"java -jar 最終生成jar包的名字"運行項目。
16.本項目的源碼已經(jīng)上傳到spring-boot_jb51.rar,有需要的朋友可以自行下載
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- 詳解idea搭建springboot+mybatis框架的教程
- 使用IDEA搭建SSM框架的詳細教程(spring + springMVC +MyBatis)
- Spring+Mybatis+Mysql搭建分布式數(shù)據(jù)庫訪問框架的方法
- 詳解手把手Maven搭建SpringMVC+Spring+MyBatis框架(超級詳細版)
- Java框架搭建之Maven、Mybatis、Spring MVC整合搭建(圖文)
- Spring MVC 4.1.3 + MyBatis零基礎搭建Web開發(fā)框架(注解模式)
- Java的MyBatis框架項目搭建與hellow world示例
- Windows下Java+MyBatis框架+MySQL的開發(fā)環(huán)境搭建教程
- MyBatis框架搭建與代碼解讀分析
相關(guān)文章
Spring?Boot指標監(jiān)控及日志管理示例詳解
Spring Boot Actuator可以幫助程序員監(jiān)控和管理SpringBoot應用,比如健康檢查、內(nèi)存使用情況統(tǒng)計、線程使用情況統(tǒng)計等,這篇文章主要介紹了Spring?Boot指標監(jiān)控及日志管理,需要的朋友可以參考下2023-11-11
fastjson轉(zhuǎn)換對象實體@JsonProperty不生效問題及解決
這篇文章主要介紹了fastjson轉(zhuǎn)換對象實體@JsonProperty不生效問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
springboot整合redis進行數(shù)據(jù)操作(推薦)
springboot整合redis比較簡單,并且使用redistemplate可以讓我們更加方便的對數(shù)據(jù)進行操作。下面通過本文給大家分享springboot整合redis進行數(shù)據(jù)操作的相關(guān)知識,感興趣的朋友一起看看吧2017-10-10

