SpringBoot

SpringBoot(四) 基础配置学习

2018-09-04  本文已影响15人  间歇性丶神经病患者

[toc]

SpringBoot(四) 基础配置学习

FastJson配置

  1. 再pom.xml文件中添加fastjson依赖
   <!--json解析-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.29</version>
        </dependency>
  1. 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);
    }

  1. 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();
    }
}

上一篇下一篇

猜你喜欢

热点阅读