美文网首页
[SrpingSecurity]之一:框架搭建

[SrpingSecurity]之一:框架搭建

作者: 瑾兰 | 来源:发表于2018-08-25 11:43 被阅读50次

    前言:项目使用gradle构建,利用springboot+springSecurity 搭建起项目

    1、步骤:

    1、新建一个gradle项目
    2、重写build.gradle文件,和任务功能(创建目录),导入项目的依赖(spring-boot,spring security)
    3、新建一个springboot启动类
    4、创建application.properties 配置文件(springboot项目的不可或缺的配置文件)
    5、启动项目

    2、 演示


    一、新建项目,并重写build.gradle依赖,导入依赖完成。
    初始化项目.gif

    图中操作,以上步骤:1,2基本已完成。除了2中的执行初始化目录操作。

    二、创建项目初始化目录,创建启动类,配置文件,并启动,登录。

    执行build.gradle中自定义的任务:makeJavaDir,makeResourcesDir;进行初始化项目目录结构。

    项目构建完成.gif

    图中操作,以上步骤:2,3,4,5全部完成。

    备注:在本步演示过程中,创建application.properties,创建位置错误(我在项目的根目录下创建的)。应该将application.properties放到resource包下。

    最终项目的结构图如下:


    结构1.png

    注意:

    1. 启动springboot启动类时,springsecurity自动创建了随机密码,在控制台输出出来。
    2. 启动后,localhost:8080/默认定位到springsecurity的登录界面。密码就是控制台输出的密码。用户名默认是user。出来下面的界面,便意味着登录成功了。
    登录成功之后的页面.png
    清单一:build.gradle
    
    buildscript {
        ext {
            springBootVersion = '2.0.3.RELEASE'
            projectJdk = '1.8'
            projectGroup = 'com.security'
            projectVersion = '0.0.1'
            projectName = 'securitydemo'
            // 我自己的私服  ,你们可以注释掉
            mavenUrl =  "http://192.168.0.14/nexus/repository/maven-public/";
        }
        repositories {
            mavenLocal()
            maven { url = mavenUrl }
            mavenCentral();
    
            maven { url "http://repo.spring.io/milestone" }
        }
        dependencies {
            classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        }
    }
    apply plugin: 'java'
    apply plugin: 'idea'
    apply plugin: 'war'
    apply plugin: 'org.springframework.boot'
    apply plugin: 'io.spring.dependency-management'
    apply plugin: 'maven-publish'
    
    group = projectGroup
    version = projectVersion
    sourceCompatibility = projectJdk
    repositories {
        mavenLocal()
        maven { url = mavenUrl }
        maven { url "http://repo.spring.io/milestone" }
    }
    dependencies {
        compile('org.springframework.boot:spring-boot-starter-web')
        compile('org.springframework.boot:spring-boot-starter-aop')
        compile("org.apache.tomcat.embed:tomcat-embed-jasper")
        compile('org.springframework.boot:spring-boot-starter-thymeleaf')
        testCompile('org.springframework.boot:spring-boot-starter-test')
    
        // 导入spring security的依赖
        compile('org.springframework.boot:spring-boot-starter-security')
        compile group: 'org.thymeleaf.extras',  
                name: 'thymeleaf-extras-springsecurity4',
                version: '3.0.2.RELEASE'
    
    
        compile('com.alibaba:druid-spring-boot-starter:1.1.10')
        compile("org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2")
        compile("mysql:mysql-connector-java:8.0.11")
        compile("com.github.pagehelper:pagehelper-spring-boot-starter:1.2.5")
        compile("org.springframework.boot:spring-boot-devtools")
        compile("tk.mybatis:mapper-spring-boot-starter:2.0.3")
        compile("org.mybatis.generator:mybatis-generator-core:1.3.7")
        compile group: 'commons-lang', name: 'commons-lang', version: '2.6'
        compile group: 'commons-beanutils', name: 'commons-beanutils', version: '1.9.3'
        compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
        compile 'com.github.joschi.jackson:jackson-datatype-threetenbp:2.6.4'
        compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.6'
        compile ('org.springframework.social:spring-social-web:1.1.0.RELEASE')
    }
    
    
    
    // 以下内容 ,是创建的任务task,在gradle中 other中有这些任务。直接点击相应的任务进行创建目录
    def creatDir={
        path ->
            File dir =new File(path);
            if(!dir.exists()){
                dir.mkdirs();
            }
    }
    
    // --> 创建源码目录
    //  src:main[java,resources] ;test [java,resources]
    task makeJavaDir() {
        def paths = ['src/main/java', 'src/main/resources', 'src/test/java', 'src/test/resources'];
    // 在创建任务之前 先遍历 路径
        doFirst {
            paths.forEach(creatDir);
        }
    }
    
    
    //  --> 创建resources目录下的内容
    //   src/main/resources:[templates,static,mappers,views] 项目目录结构
    task makeResourcesDir(){
        dependsOn 'makeJavaDir';
        def paths=['src/main/resources/templates',
        'src/main/resources/static','src/main/resources/mappers','src/main/resources/views'];
        doLast {
            paths.forEach(creatDir)
        }
    }
    
    
    // --> 创建 web目录
    // web 项目目录结构 包含了java项目目录结构
    task makeWebDir(){
        dependsOn 'makeJavaDir';
        def paths=['src/main/webapp','src/test/webapp'];
        doLast {
            paths.forEach(creatDir)
        }
    }
    
    

    相关文章

      网友评论

          本文标题:[SrpingSecurity]之一:框架搭建

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