为了账号安全,请及时绑定邮箱和手机立即绑定
  • 老师的GitHub源码: https://github.com/leechenxiang/imooc-springboot-starter

    查看全部
  • SpringBoot整合持久层框架有很多:例如SpringJDBC、Hibernate、Mybatis(这里SpringBoot整合Mybatis时,sql语句写在XML中,这种方式对于后期的维护、优化等方面可读性号,所以这里就不采用注解形式,把sql语句写在实体类中了)。

    一、使用generatorConfig生成mapper以及pojo(SpringBoot官方提供了一套方法,这里使用一种更简洁的方式)。

    步骤1:首先,需要引入一些依赖,如下图,有Mybatis、Mapper、Pagehelper,此外还需要引入数据源(这里使用阿里的druid)、mysql等等。

    http://img1.sycdn.imooc.com//5ddfb47d000138ad08350388.jpg

    http://img1.sycdn.imooc.com//5ddfb5370001aa5608980329.jpg

    http://img1.sycdn.imooc.com//5ddfb5270001dcea09430339.jpg

    步骤2:如果想使用devtools热部署,还需要在application.properties中引入如下两段代码(部署到生产环境中就不用添加了)。

    http://img1.sycdn.imooc.com//5ddfb5970001b1c310190165.jpg


    步骤3:集成Mybatis Generator(这里不使用这种方式,使用更为简洁的方式)

    http://img1.sycdn.imooc.com//5ddfb65d0001b25c09460306.jpg


    这里的generateConfig.xml文件和SpringBoot官方提供的文件相似,需要注意的是这里使用Mybatis3Simple生成mapper的文件,这中方式比较简洁。

    http://img1.sycdn.imooc.com//5ddfb9bb0001acb010680191.jpg

    这里使用一个插件MyMapper来做的。

    http://img1.sycdn.imooc.com//5ddfb9cf00014df508530159.jpg

    这里是数据库配置信息。

    http://img1.sycdn.imooc.com//5ddfb9ea000103ea09160169.jpg

    生成pojo的包在如下图进行配置。

    http://img1.sycdn.imooc.com//5ddfba000001d3a610610135.jpg

    生成mapper的包在如下图进行配置。

    http://img1.sycdn.imooc.com//5ddfba1600012ebb10230128.jpg

    映射类放置在如图中的位置。

    http://img1.sycdn.imooc.com//5ddfba370001f34710480158.jpg

    最后设置逆向生成table的名字放置在如图,一般这个名称设置为数据库中对应的表名,这样运行程序时,就会自动逆向生成。

    http://img1.sycdn.imooc.com//5ddfba68000101b006410123.jpg

    这里使用如图下的类,来逆向生成,这里需要指定逆向生成的文件,在根目录下的generateConfig.xml,运行图中的主方法就会反序列化生成。

    http://img1.sycdn.imooc.com//5ddfbaac0001abe710860582.jpg

    启动:它首先会找到那张表,再找到表中的字段,再逆向生成实体类,和mapper文件。

    http://img1.sycdn.imooc.com//5ddfbb590001a42406090471.jpg

    http://img1.sycdn.imooc.com//5ddfbb780001c0c811560536.jpg

    如图:逆向生成的实体类,实体类中的注释就是数据库中的注释。

    http://img1.sycdn.imooc.com//5ddfbbe6000163a810550596.jpg

    步骤4:application.properties配置,其中mybatis的pojo类定义在tk.mybatis.springboot.model下,mapper文件在mapper文件夹下。还有通用Mapper配置,它是一个有效类,并且可以设置它的方言。这里还涉及分页的配置,分页使用的方言也是mysql

    http://img1.sycdn.imooc.com//5ddfb6830001c80e09080481.jpg

    如果是application.yml配置就是用如下配置

    http://img1.sycdn.imooc.com//5ddfb6bc0001761b12570642.jpg

    步骤5:配置数据源

    http://img1.sycdn.imooc.com//5ddfb6e500015aac08580451.jpg

    二、实现基于mybatis的CRUD功能。

    三、整合mybatis-pagehelper实现分页。


    四、自定义mapper的实现。

    github地址:第一个是课程项目源码,第二个是Mybatis整合SpringBoot的框架。

    http://img1.sycdn.imooc.com//5ddfb36a00014b9810540284.jpg



    查看全部
  • thymeleaf常用标签的使用方法

    渲染概念:根据标签里设置的属性进行页面的显示(例如input标签的value就可以进行显示文字)。

    一、基本使用方式:标签里使用th:text="${}",这种形式可以获取到后端传过来的数据,其中th:后面可以是标签里的属性,像th:id,th:name,th:value等。

    二、对象引用类型:不使用对象.属性这种方式,外边嵌套一层div,然后th:object="${传过来的对象名}",然后$符号替换成*号即可。

    http://img1.sycdn.imooc.com//5dd0f4d70001326510160266.jpg

    三、时间类型转换:默认是Date类型显示,可以通过在#dates.format(传过来的日期参数,日期的格式)。如图

    http://img1.sycdn.imooc.com//5dd0f47200019beb09860289.jpg

    四、text与utext的比较:如果th:后面是text,那么它会把传过来的内容原样的显示出来。而utext它会解析这个数据如果是html里的样式及标签,则自动转换成相应样式。

    http://img1.sycdn.imooc.com//5dd0f63d00012e5008710273.jpg

    http://img1.sycdn.imooc.com//5dd0f5d800016bb507360145.jpg

    http://img1.sycdn.imooc.com//5dd0f5cd00010fb707760162.jpg

    五、URL的方式:thymeleaf的url方式,th:href="@{地址}",它也支持普通的方式。如图

    http://img1.sycdn.imooc.com//5dd0f6ba0001fd6b07430095.jpg

    六、引入静态资源文件js/css:thymeleaf要引入静态文件,需要在application.properties中进行设置。如图,也就是说该项目如果使用静态文件会到static中去找。

    http://img1.sycdn.imooc.com//5dd0f75c000112f407390124.jpg

    如下图方式进行引入和url的方式相差不多

    http://img1.sycdn.imooc.com//5dd0f8610001e22007410058.jpg

    thymeleaf支持的form表单绑定url形式,如图,其中th:field可以自动解析为id=“”,name=“”,value=“”,不推荐使用,可读性不好,普通的方式也支持。

    http://img1.sycdn.imooc.com//5dd0f8c0000147ae10480167.jpg

    七、条件判断th:if——》和el表达式使用相同,大于gt,大于等于ge,小于lt,小于等于le,如果条件不满足则该标签不起作用。

    http://img1.sycdn.imooc.com//5dd0fcb100017b4607380193.jpg

    判断的常用使用场景:列表标签,默认的选择和eq比较相等的。如图,eq写在外面也可以。

    http://img1.sycdn.imooc.com//5dd0fdd70001752f09310204.jpg

    http://img1.sycdn.imooc.com//5dd0fdff0001f7b204950087.jpg


    八、th:unless与th:if——》与if作用相反的。

    九、th:switch与th:case——》#{roles.manager}相当于资源文件的使用,前提是进行资源文件的配置

    http://img1.sycdn.imooc.com//5dd0ff0b00016b4707860272.jpg

    十、th:each——》循环的作用,userList为传过来的集合,而person相当于jstl中的每一个变量。

    http://img1.sycdn.imooc.com//5dd0fe8a0001f85a10160220.jpg




    查看全部
  • 新建的包必须在父级包的目录下面,比如:父级:com.example.demo 新建一个controller包:com.example.demo.controller 否则不能查找。

    ObjectMapper类是Jackson库的主要类。它提供一些功能将转换成Java对象匹配JSON结构,反之亦然。它使用JsonParser和JsonGenerator的实例实现JSON实际的读/写。 

    查看全部
  • SpringBoot整合模板引擎freemarker

    使用模板引擎的原因:早前使用struts2、springmvc,使用的都是jsp,jsp本质就是一个servlet,jsp里面的数据需要在后端进行处理渲染,然后最后在客户端显示给用户,这个过程是比较耗时的。

    模板引擎:它很多的渲染都是在客户端完成的,所以它的效率要比jsp强大很多,并且Spring目前主推模板引擎thymeleaf,它的后缀也是html。

    步骤1:pom文件中导入freemarker依赖。

    http://img1.sycdn.imooc.com//5dcaab74000199e007100182.jpg

    步骤2:application.properties配置freemarker的一些属性(freemarker文件是以ftl为后缀的)。

    http://img1.sycdn.imooc.com//5dcaace4000196ab08250459.jpg

    扩展:SpringBoot中的ModelMap相当于SpringMVC中的ModelAndView,可以往前端传值。


    查看全部
  • SpringBoot(1.5.8版本为主,稳定)的一个Demo

    官方地址生成项目:https://start.spring.io

    Spring官方网址:https://spring.io

    STS(全称Spring Tools Suite,IDE):Spring官网基于eclipse做的二次开发,或者在eclipse中导入STS插件也可以。

    通过如下方式,就会下载SpringBoot项目的jar包,然后就可以通过eclipseIDE进行import了。

    http://img1.sycdn.imooc.com//5dc75d040001b63410310983.jpg

    SpringBOOT的jar包就是通过它引入的,可以通过control+鼠标右键进入,可以看到引入jar包和一些配置文件。

    http://img1.sycdn.imooc.com//5dc75f2f0001617c06510152.jpghttp://img1.sycdn.imooc.com//5dc75f460001974609620580.jpg

    如下是格式的配置,包括字符集和java版本

    http://img1.sycdn.imooc.com//5dc75f7c0001a63a09240180.jpg

    项目的启动入口

    http://img1.sycdn.imooc.com//5dc76c8200018f5510500349.jpg

    SpringBoot配置可以在resource下的application.properties配置。

    http://img1.sycdn.imooc.com//5dc76d300001fa0a08070148.jpg

    SpringBOOT中@Controller、@RestController、@RequestMapping注解的使用:

    @Controller通常与模板引擎配合使用——直接使用会报错,常用模板引擎有Freemarker、Jsp、Velocity、Groovy、Thymeleaf(SpringBoot推荐使用),所以使用@Controller,需要在Maven的pom文件中引入相应模板引擎的依赖。

    @RestController:原来返回json需要@Response和@Controller进行组合,@RestController是它们的组合,一样的作用。

    @RequestMapping:可以使用在类上,也可以使用在方法上,类上对所有方法起作用,方法上起补充说明作用。

    查看全部
  • 配置文件
    查看全部
  • SpringBoot配置全局的异常捕获

    配置异常捕获的原因:自带的异常机制返回的页面相对来说,不是很人性化,对于用户来说,抛出一个异常,可读性差,像500或者404。

    http://img1.sycdn.imooc.com//5dd1021c0001bd2307630577.jpg

    首先需要创建一个异常捕获类,在该类上添加@ControllerAdvice,并且需要实现errorHandler这个方法,该方法有三个参数分别为HttpServletRequest、HttpServletResponse、捕获的异常Exception,该方法上需要添加@ExceptionHandler这个注解,然后就可以在这个方法中对该异常进行处理 了,如图,它是先在后台打印该异常,并且返回一个ModelAndView,把e的内容放入,以及放入放生错误的地址,然后再放入了一个错误页面,该页面是自己定义的,而不是SpringBoot自带的页面,该页面也是需要进行配置的。

    http://img1.sycdn.imooc.com//5dd1028f0001675d09400590.jpg

    1、页面跳转形式:

    2、ajax形式:ajax捕获异常:

    3、对以上两种进行集成,统一返回异常的形式:


    查看全部
  • SpringBoot资源文件属性配置

    场景1——》资源文件中的属性配置与映射到实体类(然后就可以把这个实体类注入到Controller或Service里)

    步骤1:pom文件中,引入configuration-processor依赖,完成资源文件的读取(属性name值为imooc,依次对应)。

    http://img1.sycdn.imooc.com//5dc7c5c40001c19408210236.jpg

    步骤2:类上添加@Configuration注解,代表该类会引用资源文件、@ConfigurationProperties用来配置配置文件中的前缀的、@PropertySource代表资源文件的位置、如图

    http://img1.sycdn.imooc.com//5dc7c86c00019cdd10660360.jpg


    扩展1:classpath,项目打成war包后,只有WEB-INF、WETA-INF这两个包,而WEB-INF只有classes和lib这两个包,lib放置jar包,classes存放的是都是自己新创建的文件。

    扩展2:BeanUtils的copyProperties(source,target)——》可以将source对象中属性值赋值给target属性,)前提这两个属性名相同,这两个对象可以是两个类的,也可以是一个类的。

    扩展3:解决重启时,报端口占用问题

    cmd模式下输入命令:

    netstat -ano|findstr 8080,查看占用端口号的进程。

    tasklist|findstr "端口号对应数字"结束进程。

    taskkill /pid 进程号 -f查看是否成功

    http://img1.sycdn.imooc.com//5dc7d212000132ff10570465.jpg

    断点调试:打断点,可查看执行,F6向下执行,F8将方法返回结果在浏览器上进行显示。

    查看全部
  • STS中去除无用包 ctrl+shift+o
    查看全部
  • Springboot的全局异常捕获

    页面跳转形式

    • @ControllerAdvice:声明处理异常的类

    • @ExceptionHandler:声明处理异常的方法,value的值表示异常的类型

    • 使用modelAndview进行页面数据的返回

    注意,当发生异常时,不会跳转到到controller中的指定页面,而是在异常处理类中指定的跳转页面,即viewName属性的值


    查看全部
  • //扫描包路径

    @MapperScan(basePackages="包名")

    //扫描所有需要的包,包含一些自用的工具类包所在的路径,组件扫描

    @ComponentScan(basePackages={"包名1", "包名2"})


    id生成器

    org.n3r.idworker    org.n3r.idworker.strategy   org.n3r.idworker.utils

    查看全部
  • 查看全部
  • SpringBoot中使用拦截器

    1、SpringBoot拦截器的使用

    ①   使用注解@Configuration配置拦截器

    ②   继承WebMvcConfigurerAdapter

    ③   重写addInterceptors添加需要的拦截器地址

    https://img1.sycdn.imooc.com//5c1b09050001923105540292.jpg

    2、实现HandlerInterceptor的拦截器

    https://img1.sycdn.imooc.com//5c1b09130001627505540287.jpg

    https://img1.sycdn.imooc.com//5c1b09180001fd6405500239.jpg

    https://img1.sycdn.imooc.com//5c1b091d0001b3f305510196.jpg

    查看全部
  • 2、 SpringBoot整合thymeleaf

    ①添加依赖:

    https://img1.sycdn.imooc.com//5c19df4d0001278305540311.jpg

    ②添加配置:

    https://img1.sycdn.imooc.com//5c19dfd1000143aa05540311.jpg

    ③在resources/templates下创建Thymeleaf静态页面(html格式文件)

    https://img1.sycdn.imooc.com//5c19dfbf0001340905540311.jpg

    https://img1.sycdn.imooc.com//5c19dfc40001e1d405540312.jpg

    ④添加Controller,在Controller中可以通过ModeMap传递数据

    https://img1.sycdn.imooc.com//5c19dfb700012c9805540312.jpg

    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
学习中需要用到这些工具: —eclipse —redis 你需要有这些基础: —Java 基础 —Spring —Spring MVC
老师告诉你能学到什么?
了解springboot如何从零搭开始搭建一个工程 springboot系统架构体系 springboot与各个技术点的整合

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!