SSM+Shiro統合(1)-SpringのHelloWorldを実現


プロジェクトのソース:https://github.com/weimingge14/Shiro-project プレゼンテーションのアドレス:http://liweiblog.duapp.com/Shiro-project/login
  • SSM Shiro統合1-Springを実現するHelloWorld
  • ステップ1 Springの相関依存性を導入する
  • ステップ2 SpringのHelloWorldを実現
  • 1 resourcesディレクトリの下にspringspring-servicexmlファイルをSpringコンテナとして起動するプロファイル
  • として新規作成
  • 2普通のbean
  • を書く
  • 3 testモジュールのjavaテストソースディレクトリの下でテストコード
  • を記述する


    SSM+Shiro統合(1)-SpringのHelloWorldを実現
    このセクションでは、Spring MVC、Spring、MyBatis、Shiroを統合したWebプロジェクトを構築する方法について説明します.このプロジェクトでは、主にShiroがWebアプリケーションでどのように使用されているかを示し、Spring MVC+Spring+MyBatisを使用してWebアプリケーションを迅速に構築する方法を復習しました.
    紙面の都合上、ここではソースコードを貼り付けるだけです.私のこのプロジェクトのGitHub倉庫アドレスにソースコードをダウンロードしたり、Shiro-projectというプロジェクトのcommitsを閲覧したりして、環境がどのように一歩一歩構築されているのか、新しい機能がどのように少しずつ増加しているのかを観察することができます.
    プロジェクトはMavenコンストラクションツールを使用します.JDKバージョンではJava 8、Jettyプラグインを使用
    第1節ではまずSpring 4とJUnitの依存関係を導入し,SpringのHelloWorldを記述する.
    手順1:Springの依存関係の導入
    1.Springシステムに関する依存(一部のパッケージは実際にはこのセクションでは使用できないので、先に追加することができますが、各パッケージはなぜこのパッケージを追加するのかを理解する必要があります.ここにはartifactIdのみがリストされています.以下同じ)spring-core、spring-context、spring-beans、spring-jdbc、spring-tx、spring-testではspring-jdbcがデータアクセスの依存を提供しています.Spring-txはトランザクションのサポートを提供し、spring-testはSpring環境でJUnitを使用するサポートを提供します.2、JUnitの依存junit 3、MyBatis関連依存mybatis、mybatis-spring 4、MySQL依存mysql-connector-java 5、データベース接続プールdruid 6、ログフレームワークlog 4 j、slf 4 j-log 4 j 12
    構成が導入された後は、1、Springシリーズの依存度が比較的多いことに注意してください.Springのバージョン宣言は変数を導入する形式で定義することをお勧めします.
    <properties>
        <spring.version>4.2.6.RELEASEspring.version>
    properties>

    spring-core依存を導入するときに変数spring.versionを使用できます.
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-coreartifactId>
        <version>${spring.version}version>
    dependency>

    2、Mavenのコンパイルプラグインを使用して、プロジェクトで使用するJDKバージョンを指定できます.これにより、IDEツールはデフォルトの1.5 JDKを使用しません.
    <plugin>
        <groupId>org.apache.maven.pluginsgroupId>
        <artifactId>maven-compiler-pluginartifactId>
        <version>3.5.1version>
        <configuration>
            <source>1.8source>
            <target>1.8target>
        configuration>
    plugin>

    ステップ2:SpringのHelloWorldを実現
    1.resourcesディレクトリの下にspring/spring-service.xmlファイルをSpringコンテナ起動のプロファイルとして新規作成します.
    
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
    
        <context:component-scan base-package="com.liwei.shiro.service"/>
    
    beans>

    プロファイルの意味は、com.liwei.shiro.serviceというパッケージの下で@Service、@Repository、@Component、@Controller、@Configuration注記をスキャンし、これらの注釈を追加したクラスがSpringによって管理されるBeanとなる.
    この構成では、@Serviceのような注釈のみをスキャンするように指定することもできます.
    このうちxmlファイルノードのセグメントはSpringの公式記事にコピーするか、Springの開発ツールSTSを使用してドキュメント制約を追加する必要があります.ネット上で勝手に記事を探して貼り付けてはいけません.
    2、普通のbeanを書く
    @Service
    public class HelloWorld {
    
        public String hello(String str){
            return str;
        }
    }

    3、testモジュールのjavaテストソースディレクトリの下でテストコードを書く
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = {"classpath:spring/spring-service.xml"})
    public class HelloWorldTest {
    
        @Autowired
        private HelloWorld helloWorld;
    
        @Test
        public void testHelloWorld(){
            String str = helloWorld.hello("world");
            /**
             *   1    :             
             *   2    :   
             *   3    :   
             */
            Assert.assertEquals("     ","world",str);
        }
    }

    説明:1、@RunWith(SpringJUnit4ClassRunner.class)は、私たちが使用しているJUnit 4がSpringの容器の下で動作していることを示しています.2、@ContextConfiguration(locations = {"classpath:spring/spring-service.xml"})は私たちのSpring IOCコンテナがlocations属性で指定されたxmlファイルによって起動されたことを示しています.locations属性は配列であり、複数のxmlファイルを設定することができます.後でプロファイルがモジュール化されると、Springコンテナが複数のSpringプロファイルによって起動される可能性があります.3、ここで注意したいのは、Springコンテナが起動するプロファイルを指定するときに、classpath:接頭辞を付けることです.