记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 ...
随机推荐
- 高质量C++C编程指南笔记 标签: c++笔记 2015-11-22 20:59 179人阅读 评论(0) 收藏
1. 在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少 CPU 跨切循环层的次数. 2. 如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面 ...
- xtrabackup在线迁移mysql并搭建为主主同步
一.背景 工作中有需求数据库需要迁移,但是不能停服,不能锁库锁表影响业务的正常运行,所以使用XtraBackup 二.环境: 操作系统:CentOS Linux release 7.4.1708 (C ...
- 网站渗透常用到的Python小脚本
0×00渗透的很多时候,找到的工具并不适用,自己码代码才是王道,下面三个程序都是渗透时在网络上找不到合适工具,自己辛苦开发的,短小使用,求欣赏,求好评. 0×01记录root密码小工具 root.py ...
- PHP---练习-----留言板
题目::留言显示 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- Kali-linux识别活跃的主机
尝试渗透测试之前,必须先识别在这个目标网络内活跃的主机.在一个目标网络内,最简单的方法将是执行ping命令.当然,它可能被一个主机拒绝,也可能被接收.本节将介绍使用Nmap工具识别活跃的主机. 网络映 ...
- table中实现数据上移下移效果
html 由于vue+Element项目中的table,没有开放的上移下移的api,但是能对数据操作,故思路为数组中的一条数据,再重新添加一条数据,办法有点笨,但是好歹也是实现了,望有好的办法的,请留 ...
- logback配置详解和使用
最近知道一种打印日志的新方法,在此做一下学习总结. 转自:行走在云端的愚公 https://www.cnblogs.com/warking/p/5710303.html 一.logback的介绍 ...
- Xcode-push到远程仓库不能使用邮箱名,需使用昵称
1.Xcode-push到远程仓库不能使用邮箱 2.Xcode-push到远程仓库需使用昵称
- win7环境中使用notepad++配置python IDE
1, 下载notepad++,并安装 http://notepad-plus-plus.org/download/v6.5.5.html 2, 下载python的win版本,并安装 https://w ...
- ASP.NET CORE MVC 2.0 如何在Filter中使用依赖注入来读取AppSettings,及.NET Core控制台项目中读取AppSettings
问: ASP.NET CORE MVC 如何在Filter中使用依赖注入来读取AppSettings 答: Dependency injection is possible in filters as ...