Spring Security项目构建(一)

作者: 郭少华 | 来源:发表于2018-07-12 17:26 被阅读17次

    源码地址

    Github

    项目构建

    image.png

    依赖关系


    image.png

    代码结构

    • security:主模块
    • security-core:核心业务逻辑
    • security-browser:浏览器安全特定代码
    • security-app:app相关特定代码
    • security-demo:样例程序

    包引入

    主模块

    <?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>guosh.security.com</groupId>
        <artifactId>guosh-security</artifactId>
        <packaging>pom</packaging>
        <version>1.0-SNAPSHOT</version>
    
        <properties>
            <guosh.security.version>1.0-SNAPSHOT</guosh.security.version>
        </properties>
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>io.spring.platform</groupId>
                    <artifactId>platform-bom</artifactId>
                    <version>Brussels-SR11</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Dalston.SR5</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.3.2</version>
                    <configuration>
                        <source>1.8</source> <!-- 源代码使用的开发版本 -->
                        <target>1.8</target> <!-- 需要生成的目标class文件的编译版本 -->
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
        <modules>
            <module>guoshsecuritycore</module>
            <module>guoshsecuritybrowser</module>
            <module>guoshsecurityapp</module>
            <module>guoshsecuritydemo</module>
        </modules>
    
    
    </project>
    

    core模块

    <?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">
        <parent>
            <artifactId>guosh-security</artifactId>
            <groupId>guosh.security.com</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>guosh-security-core</artifactId>
    
        <dependencies>
            <!--oauth2认证-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-oauth2</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-redis</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jdbc</artifactId>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
            <!--第三方登陆-->
            <dependency>
                <groupId>org.springframework.social</groupId>
                <artifactId>spring-social-config</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.social</groupId>
                <artifactId>spring-social-core</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.social</groupId>
                <artifactId>spring-social-security</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.social</groupId>
                <artifactId>spring-social-web</artifactId>
            </dependency>
            <!--工具类-->
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
            </dependency>
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
            </dependency>
        </dependencies>
    
    </project>
    

    browser模块

    <?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">
        <parent>
            <artifactId>guosh-security</artifactId>
            <groupId>guosh.security.com</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>guosh-security-browser</artifactId>
    
        <dependencies>
            <dependency>
                <groupId>guosh.security.com</groupId>
                <artifactId>guosh-security-core</artifactId>
                <version>${guosh.security.version}</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.session</groupId>
                <artifactId>spring-session</artifactId>
            </dependency>
        </dependencies>
    
    </project>
    

    app 模块

    <?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">
        <parent>
            <artifactId>guosh-security</artifactId>
            <groupId>guosh.security.com</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>guosh-security-app</artifactId>
    
        <dependencies>
            <dependency>
                <groupId>guosh.security.com</groupId>
                <artifactId>guosh-security-core</artifactId>
                <version>${guosh.security.version}</version>
            </dependency>
        </dependencies>
    </project>
    

    demo 模块

    <?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">
        <parent>
            <artifactId>guosh-security</artifactId>
            <groupId>guosh.security.com</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>guosh-security-demo</artifactId>
    
        <dependencies>
            <dependency>
                <groupId>guosh.security.com</groupId>
                <artifactId>guosh-security-browser</artifactId>
                <version>${guosh.security.version}</version>
            </dependency>
        </dependencies>
    
        <build>
            <!--打完包的名字-->
            <finalName>guoshsecurity</finalName>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </project>
    

    Hello程序

    现在需要把项目启动起来所以做了一个Demo

    1.在Demo下面新建yml文件并连接数据库

    image.png

    2.新建Spring boot的启动文件,添加一个/hello测试

    image.png

    3.执行main函数查看

    image.png

    4.打包测试

    使用maven打包命令生成jar包之后可以使用

    java  -jar  ./guoshsecurity.jar 启动
    

    相关文章

      网友评论

        本文标题:Spring Security项目构建(一)

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