001 Hello Security 的框架搭建

Posted juncaoit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了001 Hello Security 的框架搭建相关的知识,希望对你有一定的参考价值。

一:STS

1.下载STS

  官网:http://spring.io/tools

  使用一个干净的STS进行操作学习。

 

2.jdk检查

  技术分享图片

 

3.添加自己的maven

  技术分享图片

 

4.使用tomcat

  技术分享图片

 

二:新建项目

1.新建项目

  新建的是maven项目。

  所有的groupId使用一样的。

 

2.新建第一个项目

  注意点是打包的时候选择pom,因为这个模块主要是用来打包。

  技术分享图片

  技术分享图片

 

3.新建第二个项目

  packaging是jar

  技术分享图片

 

4.新建第三个项目

  技术分享图片

 

5.新建第四个项目

  技术分享图片

 

6.新建第五个项目

  技术分享图片

 

三:第一个项目

1.修改pom

  使用io

    技术分享图片

  复制

    可以让IO来管理,主要是依赖的冲突问题可以不需要考虑。

    技术分享图片

  使用Cloud

    进行依赖管理

    技术分享图片

  POM:

 1 <project xmlns="http://maven.apache.org/POM/4.0.0"
 2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5     <groupId>com.jun.security</groupId>
 6     <artifactId>it-security</artifactId>
 7     <version>1.0.0-SNAPSHOT</version>
 8     <packaging>pom</packaging>
 9     <dependencyManagement>
10         <dependencies>
11             <dependency>
12                 <groupId>io.spring.platform</groupId>
13                 <artifactId>platform-bom</artifactId>
14                 <version>Brussels-SR4</version>
15                 <type>pom</type>
16                 <scope>import</scope>
17             </dependency>
18             <dependency>
19                 <groupId>org.springframework.cloud</groupId>
20                 <artifactId>spring-cloud-dependencies</artifactId>
21                 <version>Dalston.SR2</version>
22                 <type>pom</type>
23                 <scope>import</scope>
24             </dependency>
25         </dependencies>
26     </dependencyManagement>
27 
28     <build>
29         <plugins>
30             <plugin>
31                 <groupId>org.apache.maven.plugins</groupId>
32                 <artifactId>maven-compiler-plugin</artifactId>
33                 <version>2.3.2</version>
34                 <configuration>
35                     <source>1.8</source>
36                     <target>1.8</target>
37                     <encoding>UTF-8</encoding>
38                 </configuration>
39             </plugin>
40         </plugins>
41     </build>

49 </project>

 

2.关联子项目

  添加子模块:

    技术分享图片

  会多出配置:

1         <modules>
2         <module>../it-security-app</module>
3         <module>../it-security-browser</module>
4         <module>../it-security-core</module>
5         <module>../it-security-demo</module>
6     </modules>    

 

3.然后更新子模块

  因为这个时候子模块的编译不是1.8.

    技术分享图片

  效果:

    技术分享图片

 

四:添加各个模块的pom

1.it-security-core项目的pom

 1 <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">
 2   <modelVersion>4.0.0</modelVersion>
 3   <artifactId>it-security-core</artifactId>
 4   <parent>
 5       <groupId>com.jun.security</groupId>
 6       <artifactId>it-security</artifactId>
 7       <version>1.0.0-SNAPSHOT</version>
 8       <relativePath>../it-security</relativePath>
 9   </parent>
10   
11   <dependencies>
12         <dependency>
13             <groupId>org.springframework.cloud</groupId>
14             <artifactId>spring-cloud-starter-oauth2</artifactId>
15         </dependency>
16         <dependency>
17             <groupId>org.springframework.boot</groupId>
18             <artifactId>spring-boot-starter-data-redis</artifactId>
19         </dependency>
20         <dependency>
21             <groupId>org.springframework.boot</groupId>
22             <artifactId>spring-boot-starter-jdbc</artifactId>
23         </dependency>
24         <dependency>
25             <groupId>mysql</groupId>
26             <artifactId>mysql-connector-java</artifactId>
27         </dependency>
28         <dependency>
29             <groupId>org.springframework.social</groupId>
30             <artifactId>spring-social-config</artifactId>
31         </dependency>
32         <dependency>
33             <groupId>org.springframework.social</groupId>
34             <artifactId>spring-social-core</artifactId>
35         </dependency>
36         <dependency>
37             <groupId>org.springframework.social</groupId>
38             <artifactId>spring-social-security</artifactId>
39         </dependency>
40         <dependency>
41             <groupId>org.springframework.social</groupId>
42             <artifactId>spring-social-web</artifactId>
43         </dependency>
44         <dependency>
45             <groupId>commons-lang</groupId>
46             <artifactId>commons-lang</artifactId>
47         </dependency>
48         <dependency>
49             <groupId>commons-collections</groupId>
50             <artifactId>commons-collections</artifactId>
51         </dependency>
52         <dependency>
53             <groupId>commons-beanutils</groupId>
54             <artifactId>commons-beanutils</artifactId>
55         </dependency>
56         <dependency>
57             <groupId>org.springframework.boot</groupId>
58             <artifactId>spring-boot-configuration-processor</artifactId>
59         </dependency>
60     </dependencies>
61 </project>

 

2.it-security-browser的pom

  先去住目录定义it.security.version版本,到时候在修改core的时候,只要修改一下父变量即可。

  然后引用core,不过需要额外引用session做集群的session管理。

 1 <project xmlns="http://maven.apache.org/POM/4.0.0"
 2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5     <artifactId>it-security-browser</artifactId>
 6     <parent>
 7         <groupId>com.jun.security</groupId>
 8         <artifactId>it-security</artifactId>
 9         <version>1.0.0-SNAPSHOT</version>
10         <relativePath>../it-security</relativePath>
11     </parent>
12 
13     <dependencies>
14         <dependency>
15             <groupId>com.jun.security</groupId>
16             <artifactId>it-security-core</artifactId>
17             <version>${it.security.version}</version>
18         </dependency>
19         <dependency>
20             <groupId>org.springframework.session</groupId>
21             <artifactId>spring-session</artifactId>
22         </dependency>
23         <dependency>
24             <groupId>org.apache.shiro</groupId>
25             <artifactId>shiro-core</artifactId>
26             <version>1.2.2</version>
27         </dependency>
28     </dependencies>
29 
30 </project>

 

3.it-security-app的pom

  只需要引用core。

 1 <project xmlns="http://maven.apache.org/POM/4.0.0"
 2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5     <artifactId>it-security-app</artifactId>
 6     <parent>
 7         <groupId>com.jun.security</groupId>
 8         <artifactId>it-security</artifactId>
 9         <version>1.0.0-SNAPSHOT</version>
10         <relativePath>../it-security</relativePath>
11     </parent>
12     
13     <dependencies>
14         <dependency>
15             <groupId>com.jun.security</groupId>
16             <artifactId>it-security-core</artifactId>
17             <version>${it.security.version}</version>
18         </dependency>
19     </dependencies>
20 </project>

 

4.it-security-demo的pom

  先引一个进行开发。

 1 <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">
 2   <modelVersion>4.0.0</modelVersion>
 3   <artifactId>it-security-demo</artifactId>
 4   <parent>
 5       <groupId>com.jun.security</groupId>
 6       <artifactId>it-security</artifactId>
 7       <version>1.0.0-SNAPSHOT</version>
 8       <relativePath>../it-security</relativePath>
 9   </parent>
10   
11   <dependencies>
12       <dependency>
13             <groupId>com.jun.security</groupId>
14             <artifactId>it-security-browser</artifactId>
15             <version>${it.security.version}</version>
16         </dependency>
17   </dependencies>
18 </project>

 

 

  

 

 

 

 

 

 

  

以上是关于001 Hello Security 的框架搭建的主要内容,如果未能解决你的问题,请参考以下文章

医学四视图-001-基本框架搭建

医学四视图-001-基本框架搭建

搭建SpringCloud微服务框架:Spring-Security-OAuth 服务接口鉴权

搭建SpringCloud微服务框架:Spring-Security-OAuth 服务接口鉴权

Sping Boot + Spring Security + Mybaits + Logback + JWT验证项目开发框架搭建

从零开始学Flask框架-第001天