2019-01-15

一、SpringBoot Web 开发:
常用的输出是json输出、filters、property、log等
1、json接口开发:
类添加@RestController注解,默认类中的方法都会以json的格式返回

2、自定义Filter:可用于录调用日志、排除有XSS威胁的字符,执行权限验证等。SpringBoot自动添加了OrderedCharacterEncodingFilter和HiddenHttpMethodFilter,可自定义Filter。

步骤:1、实现Filter接口,实现Filter方法(destroy()、doFilter()、init())
2、添加@Configureation注解,将自定义Filter加入过滤链

3、自定义Property:
(1)配置在application.properties+ 自定义配置类(@Component和@Value)
(2)log配置:配置输出的地址和输出级别

二、数据库操作:
1、mysql
2、spring data jpa(利用hibernate生成自动化的sql)

相关jar包:

  
        org.springframework.boot
        spring-boot-starter-data-jpa
    
     
        mysql
        mysql-connector-java
    

配置文件:

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   (create|update|validate|create-drop,对数据库表结构的自动操作)
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect (生成的数据库表的存储引擎)
spring.jpa.show-sql= true  (是否打印出自动生产的SQL)

实体类:
(实现Serializable接口:private static final long serialVersionUID=1L; )
使用注解@Entity、@Id、@GeneratedValue、@Column、
不映射成列的字段,加@Transient注解

三、Thymeleaf模板:
SpringBoot推荐代替jsp。
是一款用于渲染XML/XHTML/HTML5内容的模板引擎。
最大特点:能直接在浏览器中打开并正确显示模板页面,而不需启动整个Web应用。
使用了XML DOM解析器,所以并不适合于处理大规模的XML文件。

这样就不用使用静态的jsp等文件,而前端只需要交付html/css/js文件。

四、使用Gradle构建工具
构建工具一般有:maven(主流)、ant
gradle吸收了maven和ant,更简洁,适合大型项目,但实际中还是maven比较多。

五、SpringBoot中Redis的使用
springboot中redis的使用
jar:引入spring

  
    org.springframework.boot  
    spring-boot-starter-redis  
 

六、spring data jpa
JPA是一套java持久化规范(不是产品!),为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。

而Spring Data JPA是spring基于ORM框架、JPA规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展。
脱离了DAO层,可依赖其进行CRUD。

extends JpaRepository

七、Mybatis:
一般ORM还是用mybatis和hibernate比较多,hibernate再发展就是spring data jpa这种。

但一般和springBoot整合的是mybatis:


    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    1.1.1

application.yml

mapper文件(可用注解配置或者xml配置)

你可能感兴趣的:(2019-01-15)