Springboot杂

作者: 听说昨夜星子坠落 | 来源:发表于2019-07-02 14:04 被阅读0次

    传统搭建spring web项目:(麻烦)

    1)配置web.xml,加载spring和spring mvc

    2)配置数据库连接、配置spring事务

    3)配置加载配置文件的读取,开启注解

    4)配置日志文件

    配置完成之后部署tomcat 调试


    pom.xml文件中默认有两个模块:

    spring-boot-starter :核心模块,包括自动配置支持、日志和YAML;

    spring-boot-starter-test :测试模块,包括JUnit、Hamcrest、Mockito

    @RestController 的意思就是controller里面的方法都以json格式输出,不用再写什么jackjson配置了

    mockmvc测试:

    常常在项目中会使用filters用于录调用日志、排除有XSS威胁的字符、执行权限验证等等,Spring Boot自动添加了OrderedCharacterEncodingFilter和HiddenHttpMethodFilter,并且我们可以自定义Filter。

        · 实现Filter接口,实现Filter方法

        · 添加@Configuration 注解,将自定义Filter加入过滤链

    在配置文件中定义的变量,可以通过@Value("${}")来引入对应值

    jpa是利用Hibernate生成各种自动化的sql,如果只是简单的增删改查,基本上不用手写了,spring内部已经帮大家封装实现了。

    jpa在springboot中如何使用:(数据库以及jpa的配置)

        1.pom.xml

        <dependency>

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

            <artifactId>spring-boot-starter-data-jpa</artifactId>

        </dependency>

         <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

        </dependency>

        2.properties文件

        spring.datasource.url=jdbc:mysql://localhost:3306/test

        spring.datasource.username=root

        spring.datasource.password=root

        spring.datasource.driver-class-name=com.mysql.jdbc.Driver

        spring.jpa.properties.hibernate.hbm2ddl.auto=update(自动创建|更新|验证数据库表结构)

        spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect(dialect 主要是指定生成表名的存储引擎为InneoDB)

        spring.jpa.show-sql= true(是否打印出自动生产的SQL,方便调试的时候查看)

    dao只要继承JpaRepository类就可以,几乎可以不用写方法,还可以根据方法名来自动的生产SQL,比如findByUserName 会自动生产一个以 userName 为参数的查询方法,比如 findAlll 自动会查询表里面的所有数据,比如自动分页等等

    Entity中不映射成列的字段得加@Transient 注解,不加注解也会映射成列

        · @Entity

        · @Column(nullable = false,unique = true)或者不加该注解,都会自动映射成列

        · @Transient,表示该字段不映射成列

    thymeleaf:

        springboot推荐的模板引擎

        Thymeleaf最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个Web应用

        模板依旧是有效的XML文档,Thymeleaf会在运行期替换掉静态值

    Thymeleaf示例代码

    个人理解:${}——变量注入值    #{}——常量注入值

    以前的spring开发需要提供json接口时的配置:

        1.添加jackjson等相关jar包

        2.配置spring controller扫描

        3.对接的方法添加@ResponseBody

    现在springboot提供json接口配置:

        @RestController注解——默认情况下类中的方法都会以json格式返回

    自定义Filter:

        1.实现Filter接口,实现Filter方法

        2.添加@Configuration注解,将自定义Filter加入过滤链

    Redis介绍:

        内存数据存储

        支持更丰富的数据结构,例如hashes,lists,sets等。

        支持数据持久化

        提供一些类数据库的特性(类似数据库的特性,但并不是数据库),例如事务,HA,主从库等

    thymeleaf:

        · 变量表达式

            ${session.user.name}

        · 选择表达式

            第一级${book}

            第二级*{title}

    用预先选择的对象代替上下文变量容器来执行

        · 文字国际化表达式

    相关文章

      网友评论

        本文标题:Springboot杂

        本文链接:https://www.haomeiwen.com/subject/fxpzcctx.html