[toc]
SpringBoot(四) 基础配置学习
FastJson配置
- 再pom.xml文件中添加fastjson依赖
<!--json解析-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.29</version>
</dependency>
- application类中继承WebMvcConfigurerAdapter,并重写configureMessageConverters:
下述代码可以解决中文乱码:
/**
* 利用fastjson替换掉jackson,且解决中文乱码问题
* @param converters
*/
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
//处理中文乱码问题
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
fastConverter.setSupportedMediaTypes(fastMediaTypes);
fastConverter.setFastJsonConfig(fastJsonConfig);
converters.add(fastConverter);
}
- 2018-12-16更新
Springboot 2.0 更新:
/**
* Author: Ly
* Data:2018/12/16-21:39
* Description:
*/
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
/**
* 利用fastjson替换掉jackson,且解决中文乱码问题
* @param converters
*/
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
//处理中文乱码问题
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
fastConverter.setSupportedMediaTypes(fastMediaTypes);
fastConverter.setFastJsonConfig(fastJsonConfig);
converters.add(fastConverter);
}
}
热部署
热部署插件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
添加spring-boot-maven-plugin
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
开启Build project automatically
image.png勾选complier.automake.allow.when.app.running
image.png数据库配置
添加数据库依赖
<!--mysql依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--jpa依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
生成表
/**
* @Entity表明这是一个表,可以通过它生成一个表
* @Id 标面是一个主键
* @GeneratedValue 标明主键生成策略
* –AUTO: 主键由程序控制,是默认选项,不设置即此项。
* <p>
* –IDENTITY:主键由数据库自动生成,即采用数据库ID自增长的方式,Oracle不支持这种方式。
* <p>
* –SEQUENCE:通过数据库的序列产生主键,通过@SequenceGenerator 注解指定序列名,mysql不支持这种方式。
* <p>
* –TABLE:通过特定的数据库表产生主键,使用该策略可以使应用更易于数据库移植。
*/
@Entity
public class tb_cat {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
private int age;
public tb_cat() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
添加DAO
/**
* Author: Ly
* Data:2018/9/4-16:48
* Description:
*/
public interface AtricleDao extends JpaRepository<tb_article,Integer> {
}
添加service
public interface WuLinListService {
// 文章
List<tb_article> findAllArticle();
}
/**
* Author: Ly
* Data:2018/9/4-16:45
* Description:
*/
@Service
class WuLinListServiceImpl implements WuLinListService {
private final AtricleDao mArticleDao;
@Autowired
public WuLinListServiceImpl(AtricleDao mArticleDao) {
this.mArticleDao = mArticleDao;
}
@Override
public List<tb_article> findAllArticle() {
return mArticleDao.findAll();
}
}
controller调用
/**
* Author: Ly
* Data:2018/8/25-18:17
* Description: 测试
*/
@RestController
class HelloController {
private final WuLinListService mWuLinListService;
@Autowired
public HelloController(WuLinListService mWuLinListService) {
this.mWuLinListService = mWuLinListService;
}
@GetMapping("getAllArticle")
public List<tb_article> hello(){
return mWuLinListService.findAllArticle();
}
}
网友评论