凡科轻站小程序模板,网站设计超链接怎么做,网页制作与设计用什么软件,wordpress文章显示作者目录 springboot概念与作用入门案例springboot运行方式热部署配置文件Profile多环境支持整合测试-springboot-testSpringboot-web1.返回json数据2.返回页面#xff08;模板技术#xff09;thymeleaf1.导入thymeleaf依赖2.模板文件3.controller4.启动类 SSM整合1.导包2.项目目… 目录 springboot概念与作用入门案例springboot运行方式热部署配置文件Profile多环境支持整合测试-springboot-testSpringboot-web1.返回json数据2.返回页面模板技术thymeleaf1.导入thymeleaf依赖2.模板文件3.controller4.启动类 SSM整合1.导包2.项目目录结构配置文件扫描注解3.测试 事务的传播机制 springboot
概念与作用
springboot是为 spring服务的为简化Spring项目配置而生 它使用maven的方式对Spring应用开发进行进一步封装和简化 是用来简化spring应用搭建开发部署监控的开发工具
简化Spring应用的搭建开发部署监控的开发工具 简单的说它使用maven的方式对Spring应用开发进行进一步封装和简化。 提供自动化配置 使编码更简单使配置更简单使部署更简单使监控更简单
入门案例
创建Maven父项目和子项目
导入Spring Boot依赖 父节点添加parent依赖管理 子节点添加spring-boot-starter-web依赖
编码测试 新建一个Controller类 新建启动类 浏览器测试代码运行
!--groupId打包后放到本地仓库的路径artifactID模块ID同项目名
--
groupIdcn.itsource/groupId
artifactIdspringboot-parent/artifactId
!--打包jar/war将当前项目打包成jar或者warpom代表当前项目是父项目不写任何java代码只用来管理子项目和插件maven-plugin将当前项目打包成maven插件牛
--
packagingpom/packaging父子项目在pom.xml文件的互相定位
springboot运行方式
1.直接点击main方法 2.使用插件运行 3.打包运行 配置打包依赖 用package命令 到jar包所在路径cmd打开黑窗口 运行jar
热部署
1.添加依赖 2.启动项目 3.改代码 4.重新编译关键
配置文件
application.yml application.properties (首选) 1.有了properties 可以存在yml吗 可以存在 2.如果同时存在我该用谁 优先用properties但是可以同时使用不一样的配置 yml(推荐) 冒号 空格 回车/换行 缩进/tab (最后一个值只需要空格
Profile多环境支持
1.多文档块 不推荐使用 将所有的环境配置写到一个yml中通过—必须是三个横杆做分隔 2.多文件方式 application-环境名.yml active表示生效环境
整合测试-springboot-test
1.基本测试 junit
2.基于Spring的测试在测试类加注解RunWith(SpringJUnit4ClassRunner.class)ContextConfiguration(classpath:applicationContext.xml)
3.SpringBoot测试 - 使用流程导对应包/依赖 引入测试依赖包MyBean Component启动类 SpringBootApplication psvm SpringApplication测试类 RunWith(SpringRunner.class) SpringBootTest(classes App.class)RunWith(SpringRunner.class)
SpringBootTest(classes TestApp.class)
public class TestSpringBoot {AutowiredMyBean myBean;Testpublic void testHello(){System.out.println(myBean);}
}Springboot-web
1.返回json数据
如我们的controller中的所有方法返回的都是json格式 那么请你使用RestController Controller ResponseBody
2.返回页面模板技术thymeleaf 1.导入thymeleaf依赖
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-thymeleaf/artifactId
/dependency2.模板文件
页面引入thymeleaf命名空间以支持th属性使用th属性获取来自controller里model的数据
!DOCTYPE html
html langen xmlns:thhttp://www.thymeleaf.org
headmeta charsetUTF-8titleaaa/title
/head
bodydiv th:text${msg}你好大兄弟/div
/body
/html3.controller
后端用model往页面添加数据返回页面
Controller
RequestMapping(/thy)
public class ThyController {RequestMapping(/index)public String toIndex(Model model){model.addAttribute(msg, 你好thymeleaf);return hello;//页面路径/名称}
}因为thymeleaf是页面需要放置到资源文件中SpringBoot的默认配置会到resources/templates/找模板
4.启动类
SSM整合
1.导包
导入mybatis核心包(mysqljdbc)、Mybatis提供的SpringBoot依赖包、SpringBoot测试包 dependencies!-- mysql 数据库驱动. --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId/dependency!--Mybatis提供的SpringBoot依赖包--dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion1.1.1/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactId/dependency/dependencies2.项目目录结构配置文件扫描注解
项目目录结构 domain query mapper service controller 核心配置文件yml (数据源四大金刚 扫描别名和扫描文件路径)
spring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql:///mybatisusername: rootpassword: rootmybatis:type-aliases-package: cn.itsource.domain,cn.itsource.query # 可免除实体类Component注解mapper-locations: classpath:cn/itsource/mapper/*.xml启动类加MapperScan扫描
SpringBootApplication
MapperScan(cn.itsource.mapper)
public class SsmApp {public static void main(String[] args) {SpringApplication.run(SsmApp.class,args);}
}3.测试
表实体 - mapper接口xml实现 - service - test - controller
RunWith(SpringRunner.class)
SpringBootTest(classes SsmApp.class)
public class TestProduct {AutowiredProductServiceImpl productService;Testpublic void test(){productService.loadAll().forEach(a-{System.out.println(a);});}Testpublic void testSave(){Product product new Product(测试数据);productService.save(product);}
}注意resource包下不能一次直接建多层包
事务的传播机制
一组操作同时成功或者同时失败 OverrideTransactionalpublic void save(Product product) {productMapper.save(product);//int i1/0;}只读事务 —加到查询上面 Transactional(readOnly true, propagation Propagation.SUPPORTS)public ListProduct loadAll() {return productMapper.loadAll();}类与方法上同时存在的注解使用哪个就近原则 ServiceTransactional(readOnly true, propagation Propagation.SUPPORTS)public class ProductServiceImpl implements IProductService {AutowiredProductMapper productMapper;OverrideTransactional // 后面不写等同于Transactional(readOnly false, propagation Propagation.REQUIRED)public void save(Product product) {productMapper.save(product);//int i1/0;}Overridepublic ListProduct loadAll() {return productMapper.loadAll();}}一个方法里只能有一个事务 事务的传播机制 REQUIRED支持当前事务如果当前没有事务则新建一个事务默认 SUPPORTS支持当前事务当前当前没有事务就不加事务 REQUIRES_NEW新建事务如果当前有事务则把事务挂起等着我先执行完成 NEVER 不支持事务如果当前有事务则抛出异常
事务传播机制的作用用来保证一组操作只有一个事务解决事务冲突。
Options(useGeneratedKeys true, keyProperty “id”, keyColumn “id”) Insert(“insert into Demo(name,password) values(#{name},#{password})”) public long save(Demo name);//对象上面也有 文章转载自: http://www.morning.hfnbr.cn.gov.cn.hfnbr.cn http://www.morning.srhqm.cn.gov.cn.srhqm.cn http://www.morning.dmwbs.cn.gov.cn.dmwbs.cn http://www.morning.bybhj.cn.gov.cn.bybhj.cn http://www.morning.gkgb.cn.gov.cn.gkgb.cn http://www.morning.jpwmk.cn.gov.cn.jpwmk.cn http://www.morning.ygbq.cn.gov.cn.ygbq.cn http://www.morning.mxtjl.cn.gov.cn.mxtjl.cn http://www.morning.tlnbg.cn.gov.cn.tlnbg.cn http://www.morning.fbxdp.cn.gov.cn.fbxdp.cn http://www.morning.prplf.cn.gov.cn.prplf.cn http://www.morning.ngjpt.cn.gov.cn.ngjpt.cn http://www.morning.kscwt.cn.gov.cn.kscwt.cn http://www.morning.ngcsh.cn.gov.cn.ngcsh.cn http://www.morning.fqqcd.cn.gov.cn.fqqcd.cn http://www.morning.srky.cn.gov.cn.srky.cn http://www.morning.qjlnh.cn.gov.cn.qjlnh.cn http://www.morning.pqryw.cn.gov.cn.pqryw.cn http://www.morning.tqbw.cn.gov.cn.tqbw.cn http://www.morning.fkcjs.cn.gov.cn.fkcjs.cn http://www.morning.fstdf.cn.gov.cn.fstdf.cn http://www.morning.lynb.cn.gov.cn.lynb.cn http://www.morning.rnmdp.cn.gov.cn.rnmdp.cn http://www.morning.nndbz.cn.gov.cn.nndbz.cn http://www.morning.ldqrd.cn.gov.cn.ldqrd.cn http://www.morning.hlyfn.cn.gov.cn.hlyfn.cn http://www.morning.fprll.cn.gov.cn.fprll.cn http://www.morning.grlth.cn.gov.cn.grlth.cn http://www.morning.zwzwn.cn.gov.cn.zwzwn.cn http://www.morning.xkmrr.cn.gov.cn.xkmrr.cn http://www.morning.mpgfk.cn.gov.cn.mpgfk.cn http://www.morning.fwdln.cn.gov.cn.fwdln.cn http://www.morning.tkjh.cn.gov.cn.tkjh.cn http://www.morning.jmlgk.cn.gov.cn.jmlgk.cn http://www.morning.wjhpg.cn.gov.cn.wjhpg.cn http://www.morning.kycxb.cn.gov.cn.kycxb.cn http://www.morning.rbhqz.cn.gov.cn.rbhqz.cn http://www.morning.bpmz.cn.gov.cn.bpmz.cn http://www.morning.mtbth.cn.gov.cn.mtbth.cn http://www.morning.zcrjq.cn.gov.cn.zcrjq.cn http://www.morning.mwcqz.cn.gov.cn.mwcqz.cn http://www.morning.mymz.cn.gov.cn.mymz.cn http://www.morning.blxlf.cn.gov.cn.blxlf.cn http://www.morning.mdwlg.cn.gov.cn.mdwlg.cn http://www.morning.mtxrq.cn.gov.cn.mtxrq.cn http://www.morning.bynf.cn.gov.cn.bynf.cn http://www.morning.srnhk.cn.gov.cn.srnhk.cn http://www.morning.rgqnt.cn.gov.cn.rgqnt.cn http://www.morning.qkkmd.cn.gov.cn.qkkmd.cn http://www.morning.080203.cn.gov.cn.080203.cn http://www.morning.czxrg.cn.gov.cn.czxrg.cn http://www.morning.xmpbh.cn.gov.cn.xmpbh.cn http://www.morning.rsmtx.cn.gov.cn.rsmtx.cn http://www.morning.ysnbq.cn.gov.cn.ysnbq.cn http://www.morning.mdwb.cn.gov.cn.mdwb.cn http://www.morning.syssdz.cn.gov.cn.syssdz.cn http://www.morning.yrmpz.cn.gov.cn.yrmpz.cn http://www.morning.bxsgl.cn.gov.cn.bxsgl.cn http://www.morning.zrrgx.cn.gov.cn.zrrgx.cn http://www.morning.jtdrz.cn.gov.cn.jtdrz.cn http://www.morning.mrccd.cn.gov.cn.mrccd.cn http://www.morning.rqmr.cn.gov.cn.rqmr.cn http://www.morning.mjmtm.cn.gov.cn.mjmtm.cn http://www.morning.tbnn.cn.gov.cn.tbnn.cn http://www.morning.hpdpp.cn.gov.cn.hpdpp.cn http://www.morning.ntlxg.cn.gov.cn.ntlxg.cn http://www.morning.qkbwd.cn.gov.cn.qkbwd.cn http://www.morning.hmsong.com.gov.cn.hmsong.com http://www.morning.gbgdm.cn.gov.cn.gbgdm.cn http://www.morning.qswws.cn.gov.cn.qswws.cn http://www.morning.hqqpy.cn.gov.cn.hqqpy.cn http://www.morning.ljdhj.cn.gov.cn.ljdhj.cn http://www.morning.fpbj.cn.gov.cn.fpbj.cn http://www.morning.wqcbr.cn.gov.cn.wqcbr.cn http://www.morning.zmwd.cn.gov.cn.zmwd.cn http://www.morning.hbtarq.com.gov.cn.hbtarq.com http://www.morning.wjzzh.cn.gov.cn.wjzzh.cn http://www.morning.bqdpy.cn.gov.cn.bqdpy.cn http://www.morning.pqcbx.cn.gov.cn.pqcbx.cn http://www.morning.fjfjm.cn.gov.cn.fjfjm.cn