基本概念
1.1。春
春はオープンソースのフレームワークであり、2003年に登場した軽量のJava開発フレームワークであり、ロッドジョンソンが彼の本の専門家であるJ2EE開発とデザインで説明したアイデアやプロトタイプのいくつかに由来しています。エンタープライズアプリケーション開発の複雑さに対処するために作成されました。 Springは、基本的なJavabeansを使用して、以前はEJBによってのみ可能だったことを行います。ただし、Springの使用は、サーバー側の開発に限定されません。シンプルさ、テスト可能性、ゆるい結合の観点から、Javaアプリケーションは春の恩恵を受けることができます。簡単に言えば、Springはコントロール(IOC)とセクション指向(AOP)コンテナフレームワークの軽量反転です。
1.2。 springmvc
Spring MVCは、Springflameworkのその後の製品であり、Spring Web Flowに統合されています。 Spring MVCは、コントローラー、モデルオブジェクト、ディスパッチャー、およびハンドラーオブジェクトの役割を分離し、この分離によりカスタマイズが簡単になります。
1.3。 mybatis
MyBatisはApacheのオープンソースプロジェクトです。 2010年、このプロジェクトはApache Software FoundationからGoogleコードに移動し、MyBatisと改名されました。 MyBatisは、Javaベースの永続性レイヤーフレームワークです。 IBATISは、SQLマップやデータアクセスオブジェクト(DAO)を含む永続性レイヤーフレームワークを提供しますMyBatisは、ほぼすべてのJDBCコードとパラメーターの手動設定と結果セットの取得を排除します。 MyBatisは、構成と元のマッピングにシンプルなXMLまたはアノテーションを使用して、インターフェイスとJavaのPOJO(プレーンオールドジャワオブジェクト)をデータベースのレコードにマッピングします。
ステップ1: Mavenを通じてWebプロジェクトを作成します。
ステップ2: POMファイルをJARパッケージにインポートする
(1)pom.xml
POMファイル全体をコピーしましたが、初期化のいくつかを削除し、生成したコピーを自分のPOMで保持する必要があります。
<Project XMLNS = "http://maven.apache.org/pom/4.0.0" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation = "http://maven.apach/4.0. http://maven.apache.org/maven-v4_0_0.xsd "> <modelversion> 4.0.0 </modelversion> <groupid> com.test </groupid> <artifactid> ssm </artifactid> <packaging> war </packaging> <url> http://maven.apache.org </url> <Properties> <! - springバージョン番号 - > <spring.version> 4.0.2.release </spring.version> <! - mybatisバージョン番号 - > <mybatis.version> 3.2.6 </mybatis> <! <slf4j.version> 1.7.7 </slf4j.version> <log4j.version> 1.2.17 </log4j.version> </properties> <dependencies> <dependency> <groupid> junit </groupid> <artifactid> junit </artifactid> </scope> </scop <GroupId> org.SpringFrameWork </groupId> <artifactid> spring-core </artifactid> <bersion> $ {spring.version} </version> </dependency> <deprency> groupid> org.springframework </groupid> <artifactid> spring> spring> </>> </>> </>> </> </>> </>> </>> </>> <Dependency> groupId> org.springframework </groupid> <artifactid> spring-oxm </artifactid> <version> $ {spring.version} </version> </dependency> <sependency> <shentency> <groupid> org.springframework </groupid> <artifactid> spring </dependency> <dependency> groupid> org.springframework </groupid> <artifactid> spring-jdbc </artifactid> <bersion> $ {spring.version} </version> </dependency> <deplency> <groupid> org.sprameframework </groupid <バージョン> $ {spring.version} </version> </dependency> <dependency> <groupid> org.springframework </groupid> <artifactid> spring-aop </artifactid> <version> $ {spring.version} </version> </dependency> <sependency> <グループ<グループ</groupid> <artifactid> spring-context-support </artifactid> <bersion> $ {spring.version} </version> </dependency> <dependency> <groupid> org.springframework </groupid> <artifactid> spring-test </artifactid> <バージョン> $ {spring.version} </deprency> <groupid> org.mybatis </groupid> <artifactid> mybatis </artifactid> <version> $ {mybatis.version} </version> </dependency> <! - mybatis/springパッケージ - > <依存関係> <groupid> org.mybatis </groupid> <artifactisspring> </artifactid> <バージョン> 1.2.2 </version> </dependency> <! - インポートJava ee jarパッケージ - > <依存関係> <groupid> javax </groupid> <artifactid> javaee-api </artifactid> <バージョン> 7.0 </バージョン> </依存関係> < <artifactid> mysql-connector-java </artifactid> <version> 5.1.30 </version> </dependency> <! - dbcpのjarパッケージをインポートして、applicationcontext.xmlでデータベースを構成している - > <依存関係> <groupid> commons-dbcp </groupid> <artifactid> commons-dbcp> <バージョン> 1.2.2 </version> </dependency> <! - jstlタグクラス - > <依存関係> <groupid> jstl </groupid> <artifactid> jstl </artifactid> <バージョン> 1.2 </version> </dependency> <! - ログファイル管理パッケージ - > <! <artifactid> log4j </artifactid> <version> $ {log4j.version} </version> </dependency> <! - log outputを促進するためのフォーマットオブジェクト - > <依存関係> com.alibaba </groupid> <artifactid> fastjson </artifactid> <GroupId> org.slf4j </groupId> <artifactid> slf4j-api </artifactid> <version> $ {slf4j.version} </version> </dependency> <sependency> <shiplency> <sheprency> <shiptency> <redency> slf4j-log4j4j12 </artifactid> <バージョン> $ {slf4j.version} </version> </dependency> <! - log end-> <! - input json-> <dependency> <groupid> org.codehaus.jackson </groupid> <artifactid> jackson-mapper-asl </artifactid> <バージョン<groupid> commons-fileupload </groupid> <artifactid> commons-fileupload </artifactid> <version> 1.3.1 </version> </dependency> <depthency> commons-io </groupId> <artifactid> commons-io </artifactid> <バージョン<groupId> commons-codec </groupid> <artifactid> commons-codec </artifactid> <version> 1.9 </version> </dependency> </dependencies> <build> <finalName> ssm </finalName> </build> </project>ステップ3:プロジェクト全体の構造を見て、最初にSpringMVCに関連することはないことを説明させてください。最初にSpring-Mybatisを統合し、成功したかどうかをテストするときは、SpringMVCを正常に統合します。
ステップ4:モデルクラスを作成します
パブリッククラスユーザー{private int id;プライベート文字列名;プライベート文字列パスワード。 private string password2; /*セットを提供してメソッドを取得する、toStringメソッド*/}ステップ5:データベース、userdaoインターフェイス、マッパーマッピングファイルの作成
(1)非常にシンプルなテーブルを作成します
(2)userdaoインターフェイス
public interface userdao {user finduserbyid(user user);}(3)uesrmapper.xml
<?xml version = "1.0" encoding = "utf-8"?> <!doctype mapperpublic " - // mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" namespace = "com.ssm.dao.userdao"> <! - id-> <! - idに基づくユーザー情報のクエリ:usedaoメソッド名#{}:プレースホルダーを表します。 #{}に単純なタイプパラメーターが渡される場合、#{}の名前はarbitraryパラメータ型:userdao()resultTypeのパラメーターと同じ入力パラメーターのタイプです。 resultType = "com.ssm.model.user"> select * from user <where> <if> "name null"> and name =#{name} </if> <if> "password!= null">および#{password} </if> </where> </select> </select> </select> </mapper>ステップ5: userserviceとuserserviceimplを作成します
(1)userservice
public interface userservice {public user getUserbyid(user user); }(2)userserviceimpl
org.springframework.stereotype.service; Import com.ssm.dao.userdao; Import com.ssm.model.user; Import com.sssm.service.userservice; @service( "userservice")public class userserverimpl Imbrement userser public user getUserbyid(ユーザーユーザー){return this.userdao.finduserbyid(user); }}ステップ6: JDBCファイルとログログファイルを作成します
(1)JDBC.Properties
jdbc.driver = com.mysql.jdbc.driverjdbc.url = jdbc/:mysql/:// localhost/:3306/test?useunicode = true && cardelencoding = utf-8jdbc.username = rootjdbc.password = root
(2)log4j.properties
log4j.rootlogger = info、console、file#log出力宛先をコンソールlog4j.appender.console = org.apache.log4j.consoleAppender log4j.appender.console.target = system.out org.apache.log4j.patternlayout log4j.appender.console.layout.conversionpattern = [%c] - %m%n#指定されたサイズに到達すると、新しいファイルが生成される場合、新しいファイルが生成されます。 logs/ssm.log #define最大ファイルサイズlog4j.appender.file.maxfilesize = 10mb #output so log。デバッグに変更すると、デバッグまたはレベルのレベル上の出力ログを意味しますlog4j.appender.file.threshold = all log4j.appender.file.layout = org.apache.log4j.patternlayout log4j.Appender.file.layout.conversionpattern = [%p] [%d {yyyyyymmddddddddddddd HH/:mm/:ss}] [%c]%m%nステップ7: spring-mybatis.xmlを統合します
<?xml version = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" XMLNS:P = "http://www.springframework.org/schema/p" xmlns:context = "http://www.springframework.org/schema/mvc" xsi:schemalocation = "http://ww.springframework. http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context-/spring-context-/spring-contex http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd "> <! - 自動スキャニング - > <コンテキストの紹介= <ファイル - > <bean id = "propertyconfigurer"> <プロパティ名= "location" value = "classpath:jdbc.properties" /> < /bean> <! - 2。データベース接続プール - > <bean id = "datasource" Destroy-method = "close"> <PropertialClassname " value = "$ {jdbc.url}" /> <プロパティ名= "username" value = "$ {jdbc.username}" /> <プロパティ名= "パスワード" value = "$ {jdbc.password}" /> < /bean> < id = "sqlsessionfactory"> <! - データベース接続プールリファレンスを指定 - > <プロパティ名= "dataSource" ref = "dataSource"/> <! - mapping.xmlファイルの自動スキャン - > <プロパティname = "mapperlocations" value = "classpath:com/ssm/maper/*。位置にあるスプリングは、自動的にクラスを見つけます - > <bean> <プロパティ名= "basepackage" value = "com.ssm.dao"/> <プロパティ名= " id = "transactionManager"> <プロパティ名= "dataSource" ref = "dataSource"/> </bean> </beans>ステップ8:テストクラスを作成します
上記の手順(Log4Jが一致せず、効果がない)の後、SpringとMyBatisの統合を完了したため、テストコードを作成して、成功したかどうかを試すことができます。
テストクラスは、SRC/TEST/JAVAで確立されています。テストが成功した場合、SpringとMyBatisが正常に統合されていることを意味します。出力情報は、log4jを使用してコンソールに印刷されます。
(1)TestMyBatisテストクラス
パッケージSSM; Import javax.annotation.resource; Import org.apache.log4j.logger; Import org.junit.test; import org.junit.runner.runwith; Import org.springframework.test.context.contextconfiguration; Import; org.springframework.context.junit4.springjunit4classrunner; Import com.sssm.model.user; Import com.sssm.service.userservice;/*spring Test環境でテストを実行するcom.ssm.service.userservice;ロードされる*/ @contextconfiguration(locations = {"classpath:spring-mybatis.xml"})public class testmybatis {@resource(name = "userservice")private userservice userservice; @test public void test1(){user user = new user(); user.setName( "Zhang San"); user.setPassWord( "123"); user user1 = userservice.getuserbyid(user); system.out.println(user1.tostring()); }}やっと!重要なのは、背景の出力を見ることです。これは奇跡を目撃する時期でもあります。出力オブジェクトが出力の場合、構成と統合が成功することを意味します!
次に、SpringMVCの統合を開始します
ステップ9: SpringMvc.xmlを構成します
<?xml version = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" XMLNS:P = "http://www.springframework.org/schema/p" xmlns:context = "http://www.springframework.org/schema/mvc" xsi:schemalocation = "http://ww.springframework. http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context-/spring-context-/spring-contex http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd "> <! - パッケージを自動的にスキャンします。 <コンテキスト:component-scanベースパッケージ= "com.sssm.controller"/> <! - IEがajaxを実行してjsonに戻るときにダウンロードファイルを避けます - > <bean id = "mappingjacksonhttpmessageconverter"> <プロパティ名= "supportedmediatypes"> <balut> </</</</</</</</fut8 < </bean> <!-SpringMVCアノテーション機能を開始してリクエストとアノテーションのマッピングを完了しますpojos-> <bean> <プロパティ名= "MessageConverters"> <list> <ref bean = "mappingjacksonhttpmessageconverter"/> <! - json>ファイル、ビューモード構成 - > <bean> <! - ここでの構成の私の理解は、次のアクションの方法によって返される文字列を自動的に接頭辞および接尾辞にすることです。ファイルアップロードを使用しない場合、構成する必要はありません。もちろん、一致しない場合は、構成ファイルにアップロードコンポーネントパッケージを導入する必要はありません - > <bean id = "multipartresolver"> <! - default encoding-> <プロパティname = "defaultencoding" value = "utf-8" /> <! - 最大ファイルサイズ - > <プロパティname = - > <プロパティname = "maxinmemorysize" value = "40960"/> </bean> </beans>
ステップ10: web.xmlファイルを構成します
Spring-Mybatis.xmlと構成されたSpring-MVCサーブレットの導入は、SSM統合用です。前の2つのフレームワーク統合では、ここで構成は必要ありませんでした。
<?xml version = "1.0" encoding = "utf-8"?> <web-app xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://java.sun.com/xml/nns/javaee xsi:schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/ns/javaee/web-app_0.xsd" Webアプリケーションの作成</display-name> <! - spring and mybatis構成ファイル - > <コンテキストパラム> <param-name> contextconfiglocation </param-name> <param-value> classpath:spring-mybatis.xml </param-value> </context-param> < <filter-class> org.springframework.web.filter.characterencodingfilter </filter-class> <async-supported> true </async-supported> <init-supported> <init-param> <param-name>エンコーディング</parm-name> <parm-value> utf-8 </param- m-mapts> </init-parom> <filter-name> encodingfilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <! - springframework.web.context.contextloaderlistener </リスナー - リスナー> < <リスナークラス> org.springframework.web.util.introspectorcleanuplistener </ristener-class> </ristener> </<! - spring mvc servlet-> <servlet> <servlet-name> springmvc </servet-name> <servlet-class> org.springfringfrangframework.web.web.serbelet.diservet <int-param> <param-name> contextconfiglocation </param-name> <param-value> classpath:springmvc.xml </param-value> </init-on-startup> 1 </load-on-startup> <async-supported> <async-supported> true </async-supported> </servlet mapping> <servlet-name> springmvc </servlet-name> <! - ここでは、構成できます。
ステップ11最終テスト:
(1)最初にlogin.jspを書き込みます
<%@ page Language = "Java" contentType = "text/html; charset = utf-8" pageencoding = "utf-8"%> <html> <head> <title> user login:</title> </head> <body> <form action = "login"> <ラベル>ユーザー名:</ラベル> <入力タイプ= name = "username"> </input> <br> <br> <br> <brad>パスワード:</label> <input = "text" id "name" name = "password"> </input> <br> <br> <br> <input type = "balugin"/> </form> </body> </html>
インタフェース:
(2)usercontrollerの作成
import javax.servlet.http.HttpServletRequest;import org.springframework.steretype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.ssm.dao.UserDao;import com.ssm.model.User;@Controllerpublic class UserController { @resource private userdao userdao; @RequestMapping( "/jsp/login")public string login(httpservletrequest request){string username = request.getParameter( "username");文字列パスワード= request.getParameter( "password"); user user = new user(); //データベースuser.setname(username); user.setPassWord(パスワード);ユーザーユーザー= userdao.finduserbyid(user); //学生がいる場合、それはログインが成功することを意味します(users!= null){return "susscss"; } //私はこのJSPを書きませんでした、あなたが知っている限り、あなたはあなた自身の返品「err」を書くことができます;}}(3)最後に、susscss.jsp
<%@ page Language = "Java" contentType = "text/html; charset = utf-8" pageencoding = "utf-8"%> <html> <body> <p>ユーザーアカウントのパスワードは正しい、ログインは成功します</p> </body> </html>
完璧!
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。