为了账号安全,请及时绑定邮箱和手机立即绑定
  • springboot属性文件映射到实体类:

    1、pom中引入依赖:

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-configuration-processor</artifactId>

        <optional>true</optional>

    <dependency>

    2、

    读取自己添加的properties配置文件

    @Configuration
    @ConfigurationProperties(prefix="com.springboot.opensource")
    @PropertySource(value="classpath:resource.properties")


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

    1.添加依赖:

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


    2.添加配置:

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


    3.添加Controller,在Controller中可以通过ModelMap传递数据:

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


    4.在resources/templates下创建ftl格式文件,格式如下:

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

    查看全部
  • json基本使用方式:

    1 JsonIgnore

    2 JsonFormat

    3 JsonIclude

    查看全部
  • @ResponseBody返回对象是以json格式的;@Controller是SpringMVC里的概念

    查看全部
  • 测试报错:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error invoking SqlProvider method (tk.mybatis.mapper.provider.base.BaseInsertProvider.dynamicSQL).  Cause: java.lang.InstantiationException: tk.mybatis.mapper.provider.base.BaseInsertProvider
    
    解决方法:将import org.mybatis.spring.annotation.MapperScan;此的导入地址更换成:
    import tk.mybatis.spring.annotation.MapperScan;
    查看全部
  • https://github.com/leechenxiang/imooc-springboot-starter https://github.com/abel533/MyBatis-Spring-Boot
    查看全部
  • orm 整合

    查看全部
  • @JsonIgnore//不显示

    @JsonFormat(pattern="yyyy-MM-dd hh:mm:ss a",locale="zh",timezone="GMT+8")//日期格式

    @JsonInclude(Include.NON_NULL)/为空不显示

    查看全部
  • @ResController = @Controller+@ResponseBody

    @JsonIgnore 忽略

    @JsonFormat(pattern="yyyy-MM-dd hh:mm:ss a", locale="zh",timezone="GMT+8")日期格式化


    查看全部
  • SpringBoot特点:

    基于spring,使开发者快速入门,门槛低

    SpringBoot可以创建独立运行的应用不依赖于容器

    不需要打包成war包,可以放入tomcat中直接运行

    简化配置,不用看过多的xml

    查看全部
    1 采集 收起 来源:SpringBoot 简介

    2021-11-10

  • <!--freeMark依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-freemarker</artifactId>
    </dependency>
    <!--ModelAndView-->
    查看全部
  • 添加@ControllerAdvice注解来捕获异常

    查看全部
  • @Configration配置拦截器

    继承WebMvcConfigurerAdapter

    重写addInterceptors

    @Configuration
    public class WebMvcConfigurer extends WebMvcConfigurerAdapter {
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            registry.addInterceptor(new OneInterceptor()).addPathPatterns("/one/**");
            super.addInterceptors(registry);
        }
    }
    public class OneInterceptor implements HandlerInterceptor {
        @Override//请求处理之前,Controller方法调用之前
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            //System.out.println("被one拦截,放行。。。");
            //return true;
            System.out.println("不放行!!!");
            returnError(response,"不放行");
            return false;
        }
    @Override//请求处理之后,视图渲染之前。controller调用之后
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)
    @Override//请求结束之后,视图渲染之后,用于清理资源
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
    public void returnError(HttpServletResponse response,String result) throws Exception {
        OutputStream out=null;
        try {
            response.setCharacterEncoding("utf-8");
            response.setContentType("text/json");
            out=response.getOutputStream();
            out.write(result.getBytes("utf-8"));
            out.flush();
        }finally {
            if(out!=null){
                out.close();
            }
        }
    }

    60%

    查看全部
  • <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-redis</artifactId>
    </dependency>

    application的redis配置,注意:timeout>0

    @Autowired StringRedisTemplate

    template.opsForValue.set("k1","v1")

    template.opsForValue.get("k1")

    对象转Json

    strNotice = new ObjectMapper().writeValueAsString(notice)

    json转对象

    Notice notice2=new ObjectMapper().readValue(strNotice2,Notice.class)

    60%

    查看全部
  • SpringBoot整合持久层事物

    1、事物的隔离级别有多种,这里采用默认的形式。

    http://img1.sycdn.imooc.com//5ddfcaa400012a0209860261.jpg2、事物的传播行为,这里主要使用REQUIRED和SUPPORTS。

    REQUIRED:当有一个操作需要执行的时候,如果有事物,就会把当前这个操作放入到事物中,如果没有事物,那么就要新建一个事物,然后再去执行(适用于增加、删除、修改的操作)。

    SUPPORTS:如果有事物,就把该操作加入当前事物中执行,如果没有事物,就以脱离事物状态去运行(适合读取操作)。

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


    举例:插入一个用户,之后产生一个除0异常,如图。然后把该用户的删除状态由0修改为1,然后再进行修改。

    通过查看:用户是插入进去了,但是没有进行修改,由于这个异常,所以这里需要回滚,所以这里需要使用事物。

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

    这里只需要在执行数据库操作的方法上添加注解@Transactional,并且事物的传播行为REQUIRED,此时就会发现没有进行插入,也就是事物进行了回滚,这也就是事物的作用,要么一组操作全部成功,要不就都失败。

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


    拓展:SpringMVC事物的使用,需要在配置文件进行配置,如下图,针对特定方法的开头单词进行事物的操作。

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

    查看全部

举报

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

微信扫码,参与3人拼团

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

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