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包:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
配置文件:
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
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</dependency>
六、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:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
application.yml
和
mapper文件(可用注解配置或者xml配置)