美文网首页SpringBoot
SpringBoot(四) 基础配置学习

SpringBoot(四) 基础配置学习

作者: 间歇性丶神经病患者 | 来源:发表于2018-09-04 22:49 被阅读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();
        }
    }
    
    

    相关文章

      网友评论

        本文标题:SpringBoot(四) 基础配置学习

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