spring-boot简单配置以及启动

prop.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.baizhi</groupId>
    <artifactId>springBoot-01</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.4.3</version>
        </dependency>



        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.3.4</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.23</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>2.4.3</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.16</version>
        </dependency>
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.13</version>
        </dependency>
    </dependencies>
</project>

Application.class可以代替tomcat 启动服务器;执行main函数,就启动服务器

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;



@SpringBootApplication
@MapperScan("com.baizhi.mapper")
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
}

唯一的配置文件
application.yml

server:
  port: 8989
  servlet:
    context-path: /spring-day01


spring:
  datasource:
    url: jdbc:mysql://localhost:3306/videoshare?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
  jackson:
    date-format: yyyy-MM-dd
    time-zone: GMT+8
    resources:
    static-locations: file:${imgPath}
  servlet:
    multipart:
      max-request-size: 3MB  #设置总的请求大小
      max-file-size: 2MB   #设置单个文件上传的大小
imgPath: F:\myImg    #文件上传后保存的地址   
#contoller可以通过@Value("${imgPath}") private String path;获取该地址

mybatis:
  type-aliases-package: com.baizhi.entity
  mapper-locations: com/baizhi/mapper/*.Mapper.xml

前后端分离技术:解决跨域问题 添加一个过滤器
AccessControlAllowFilter.class

package com.baizhi.filter;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class AccessControlAllowFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        System.out.println("................");
        HttpServletRequest httpServletRequest = (HttpServletRequest)request;
        HttpServletResponse httpServletResponse = (HttpServletResponse)response;
        httpServletResponse.setHeader("Access-Control-Allow-Origin",httpServletRequest.getHeader("Origin"));
        httpServletResponse.setHeader("Access-Control-Allow-Credentials","true");
        httpServletResponse.setHeader("P3P","CP=CAO PSA OUR");
        httpServletResponse.setHeader("Access-Control-Allow-Credentials", "true");//允许携带cookie
        if("OPTIONS".equalsIgnoreCase(httpServletRequest.getMethod())) {
            httpServletResponse.setHeader("Access-Control-Allow-Headers", "Content-Type,Origin,Accept");
            httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST,GET,HEAD,PUT,DELETE,TRACE,OPTIONS");
            httpServletResponse.setHeader("Access-Control-Max-Age","18000");
        }
        chain.doFilter(request,response);
    }

    @Override
    public void destroy() {    }
}


配置过滤器
MywebConfig.class

@Configuration
public class MywebConfig  implements WebMvcConfigurer {
    @Bean
    public FilterRegistrationBean filterRegist() {
        FilterRegistrationBean frBean = new FilterRegistrationBean();
        frBean.setFilter(new AccessControlAllowFilter());
        frBean.addUrlPatterns("/*");
        return frBean;
    }
}

在vue脚手架中项目中下载axios 在vue项目中执行

>
//初始化项目 vue init webpack 项目名 
vue init webpack vue-cli-test

//下载axios
npm install --save axios vue-axios qs

//下载vuex
npm install vuex --save

在main.js中

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import qs from 'qs'
import axios from 'axios'
import VueAxios from 'vue-axios'
import store from './store'



//在所有的Vue组件中可以通过this.$qs使用qs库
Vue.prototype.$qs = qs
//配置后端服务地址
axios.defaults.baseURL="http://localhost:8989/test"
//在Vue中配置axios,在所有的Vue组件中就可以通过this.axios使用axios库
Vue.use(VueAxios,axios)

Vue.config.productionTip = false

//添加的配置
axios.defaults.withCredentials = true

//引入ElementUI
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
//配置使用ElementUI
Vue.use(ElementUI)

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store,
  components: { App },
  template: '<App/>'
})

vuex store包下的 index.js

import Vuex from 'vuex'
import Vue from 'vue'

Vue.use(Vuex)

export default new Vuex.Store({
  state:{
    categoryId:-1
  },
  actions:{
    changeCategoryId(context,id){
      context.commit("changeCategoryId",id);
    }
  },
  mutations:{
    changeCategoryId(state,id){
      state.categoryId = id;
    }
  }
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值