springboot环境的搭建

1、创建maven项目,打包方式为jar,添加parent来统一子包的依赖。

2、导包

<parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.1.15.RELEASEversion>
  parent>


org.springframework.boot
spring-boot-starter-web
 
 

3、创建启动类(启动springmvc和tomcat的应用)

在类上加注解@SpringBootApplication

会自动扫描此包下的所有子包。

主函数中加入SpringApplication.run(APP.class);即可启动。

4、创建配置文件来配置信息,文件名为application,类型有ynl和properties两种形式,后者优先级较高

可以配置端口号

server:
  port: 80

也可以配置日期格式

spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8

5、在ioc容器中声明消息转换器,覆盖默认的转换器(需要导入fastjson包)

创建一个java配置类

加@Configuration来变成配置类

//配置Bean加点,方法上返回一个对象就能放入ioc了
@Bean
  //消息转换器 HttpMessageConverters fastJsonMessage() { FastJsonHttpMessageConverter fastJsonHttpMessageConverter
= new FastJsonHttpMessageConverter();
      //声明一个fastjson对象进行配置 FastJsonConfig fastJsonConfig
= new FastJsonConfig();
fastJsonConfig.setDateFormat(
"yyyy-MM-dd HH:mm:ss"); fastJsonConfig.setCharset(Charset.forName("utf-8")); fastJsonConfig.setSerializerFeatures( SerializerFeature.PrettyFormat, SerializerFeature.WriteNullListAsEmpty,
          //如果是空list返回null SerializerFeature.WriteNullListAsEmpty,
          //处理对象的属性为对象的情况 SerializerFeature.WriteNullStringAsEmpty,SerializerFeature.DisableCircularReferenceDetect ); List
list =new ArrayList<>(); list.add(MediaType.APPLICATION_JSON_UTF8); fastJsonHttpMessageConverter.setSupportedMediaTypes(list); fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig); return new HttpMessageConverters(fastJsonHttpMessageConverter);

6、异常处理

有两种处理的方式

第一种是重写页面,在resource下的static下的error下的404或者500.html

第二种就是处理异常

写一个@ExceptionHandler注解,在其方法下处理异常,可以指定处理什么类型的异常,

也可以同一处理

 @ExceptionHandler
    String exception(HttpServletRequest request,Exception e){
        return "异常了";
    }

如果单独存在要加一个@ControllerAdvice注解,如果是前后端分离还要加@ResponseBody

7、解决跨域问题

问题在浏览器端,为了解决跨站访问的异常,提出了同源策略。

先访问ajax在访问服务器返回到的头信息不对就会被拦截。

@Bean
    CorsFilter corsFilter(){
        UrlBasedCorsConfigurationSource source=new UrlBasedCorsConfigurationSource();
        CorsConfiguration configuration=new CorsConfiguration();
    //允许所有的头信息和方法 configuration.addAllowedOrigin(
"*"); configuration.addAllowedHeader("*"); configuration.addAllowedMethod("*"); source.registerCorsConfiguration("/**",configuration); return new CorsFilter(source); }

8、集成mybatis

mybatis中$和#的区别:

#        insert  into  user(username,password)  values(#{username},?)

有两个问号  分别注入值,能预编译,能有效防止sql注入。

$        insert  into  user(username,password)  values('${username}',?)

直接把值放过来,没有预编译,无法防止sql注入。值可能有脚本就会sql注入

步骤:

导包 hikari mybatis  mysql

这里采用hikari数据源,需要配置数据库信息

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/user?useUnicode=true&characterEncoding=utf8
    username: root
    password: 123456
    hikari:
      minimun-idle: 8
      max-lifetime: 20

sqlsession自动配置,可以配置类的别名,为了方便

mybatis:
  type-aliases-package: com.lyt.pojo

扫包只需要加一个@MapperScan来扫包

@MapperScan("com.lyt.dao")

再配置一下日志,方便观察sql语句等信息。

logging:
  level:
    com.lyt.dao: debug

dao层和service和controller层还是基于ssm框架。

搭建成功结果:

springboot环境的搭建_第1张图片

 

你可能感兴趣的:(springboot环境的搭建)