记springboot+mybatis+freemarker+bootstrap的使用(2)
二、springboot+mybatis的使用
1.springboot的注解:@SpringBootApplication :启动项目:整合常用注解(@Configuration,@EnableAutoConfiguration,@ComponentScan)/扫包作用(只能在当前同级包下)
@EnableAutoConfiguration自动配置
@ComponentScan扫描一些组件如controller、service 可以扫多个包。扫多个包用法@ComponentScan(basePackages={"com.zty.controller","com.zty.service"})
@EntityScan扫描实体类的包
@MapperScan扫描Mapper类的包
@Controller 表明这是一个controller组件
@Service表明这是一个service组件
@Mapper表明这是一个Mybatis中的Mapper组件
@Autowired自动加载
@RequestMapping指定路由,负责URL到Controller中的具体函数的映射 参数有value method(可选)例:@RequestMapping(value="/login",method=RequestMethod.POST)
@Responsebody返回的字符串解析为Json格式
@RestController为rest风格的注解其中包含了@Responsebody
以上有想到的常用注解,更多注解请参考springboot官网
2.springboot项目结构

App包下是java的启动程序其中为项目启动的main方法,其中@EntityScan(basePackages={"com.zty.entity"})可以省略不要因为在@ComponentScan中已经包含了,代码如下
@ComponentScan(basePackages={"com.zty.controller","com.zty.service"})
@EntityScan(basePackages={"com.zty.entity"})
@MapperScan(basePackages={"com.zty.mapper"})
@EnableAutoConfiguration
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
controller代码示例如下
@Controller
public class LoginController {
@RequestMapping("/")//设置访问路径为域名根目录下
public String defaultView() {
return "login";//返回视图中的login.ftl模板
}
}
entity包为项目中的实体类,在这里省略
mapper包为mybatis中的mapper类,这里采用的是注解方式,代码示例如下(注意,实体类中的属性名要与数据库中的一致,不然mybatis不能自动注入)
@Mapper
public interface LoginMapper {
@Select("select id,name,password,depart,permission from user where name = #{name}")
User findUserByName(@Param("name") String name);
}
service代码示例如下
import com.zty.entity.User;
public interface LoginService {
User findUserByName(String name);
}
serviceimpl为service的具体实现,代码示例如下
@Service
public class LoginServiceImpl implements LoginService{
@Autowired
private LoginMapper loginmapper;
@Override
public User findUserByName(String name) {
// TODO Auto-generated method stub
return loginmapper.findUserByName(name);
} }
至此简单的一个项目后端已经完成,这里说一下静态资源的存放目录,springboot会自动在这几个目录下寻找资源
src/main/resources/static中存放的是图片或js、css、html之类的静态资源
src/main/resources/templates’中存放的是项目的模板文件(我用的模板是freemarker)
src/main/resources/static/webjars这是一个空目录,通过这个空目录可以访问bootstrap的资源(建空目录命名为webjars的原因可能是因为bootstrap的jar包名称为webjars吧)
来自本萌新的笔记,如果有误望各位大佬指正 :-p

记springboot+mybatis+freemarker+bootstrap的使用(2)的更多相关文章
- 记springboot+mybatis+freemarker+bootstrap的使用(1)
一..springboot的配置 1.安装并配置maven maven是项目管理工具,可以自动下载并管理jar包之间的依赖关系,可通过maven自动配置springboot 参照百度经验https:/ ...
- 在MyEclipse中搭建spring-boot+mybatis+freemarker框架
一.创建项目 1.右键-->New-->Project... 2.选中Maven Project,点击next 3.选中第一个 4.添写Group Id,Artifact Id,选择Com ...
- 在MyEclipse中使用spring-boot+mybatis+freemarker实现基本的增删改查
一.基本环境 二.创建实体类 1.User.java package bjredcross.rainbowplans.model; import bjredcross.rainbowplans.com ...
- SpringBoot+Mybatis+Freemark 最简单的例子
springboot-sample 实现最简单的 SpringBoot + Mybatis + Freemarker 网页增删改查功能,适合新接触 Java 和 SpringBoot 的同学参考 代码 ...
- springboot+mybatis+bootstrap开发员工oa后台管理系统项目源码
java项目源码详情描述:S020<springboot+mybatis+bootstrap开发员工oa后台管理系统项目源码>jboa项目有请假以及报销单的申请和审核session共享加登 ...
- 记一次springboot+mybatis+phoenix在代码集成中的坑
场景: 希望使用phoenix做查询服务,给服务端提供接口 设计: 通过springboot做restful的接口发布,通过mybatis做phoenix的sql处理,因此是springboot+my ...
- Springboot+Mybatis+MySQL实例练习时踩坑记录
最近刚开始学习后端,直接让上手学习Springboot+Mybatis+MySQL对CRUD的实例,虽然实例不难,但是上面的三个知识我都不懂,就有点为难我了 所以经常遇到一个点卡自己很久的情况,这里列 ...
- SpringBoot第十一篇:SpringBoot+MyBatis+Thymelaf实现CRUD
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10936304.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 总结前面几 ...
- springboot+mybatis+druid+atomikos框架搭建及测试
前言 因为最近公司项目升级,需要将外网数据库的信息导入到内网数据库内.于是找了一些springboot多数据源的文章来看,同时也亲自动手实践.可是过程中也踩了不少的坑,主要原因是我看的文章大部分都是s ...
随机推荐
- Linux:CentOS7卸载mysql
步骤 方法一. 1.查看mysql安装 rpm -qa|grep -i mysql 2.卸载前关闭mysql服务 rpm -ev --nodeps mysql-community-release-el ...
- selenium层级定位及鼠标键盘操作
#code:utf-8 from selenium import webdriver from selenium.webdriver.common.action_chains import Actio ...
- Shodan搜索引擎介绍
from:http://www.exploit-db.com/wp-content/themes/exploit/docs/33859.pdf 0x00 概要 这篇文章可以作为渗透测试人员和安全工作者 ...
- [零基础学JAVA]Java SE基础部分-02.标识符、数据类型
转自:http://redking.blog.51cto.com/27212/114976 1.课程名称:标识符.数据类型 本季介绍了Java中的标识符的命名规则,各种关键字及数据类型的划分,并对各种 ...
- C#图解教程读书笔记(第6章 类进阶)
类成员声明语句由下列部分组成:核心声明.一组可选的修饰符和一组可选的特性(attribute). [特性] [修饰符] 核心声明 修饰符: 如果有修饰符,必须放在核心声明之前. 如果有多个修饰符,要有 ...
- D3——基本知识点
选择器: d3.select - 从当前文档中选择一个元素 d3.selectAll - 从当前文档中选择多个元素 selection.append - 创建并追加一个新元素 selection.at ...
- 制作炫酷雪花背景的jQuery插件
插件使用十分简单,代码已经放至我的GitHub,大家可以下载以及使用或者更新改进代码. HTML代码源码: <!DOCTYPE html> <html> <head> ...
- HTML和CSS实现常见的布局
https://segmentfault.com/a/1190000003931851#articleHeader15
- tmux分屏
网上很多教程: 新手教程: tmux进入 ctrl + b 命令 % 纵向分屏 命令 方向键 切换 https://lukaszwrobel.pl/blog/tmux-tutorial-split-t ...
- php 统计二维数组中某个相等值的总个数,并且组合成一个新的数组 转发
$ar = array( array( 'sv_id' => 1, 'mid' => 1, 'sv_question1' => 20 ), array( 'sv_id' =& ...