この記事では、主に、Javaフレームワーク構造のMaven、Mybatis、およびSpring MVC(写真とテキスト)の統合を紹介します。それはあなたと共有されます。詳細は次のとおりです。
SSM(Spring+SpringMVC+MyBatis)、現在は比較的主流のエンタープライズレベルのアーキテクチャソリューションです。標準のMVC設計モデルは、システム全体を4つのレイヤー、ディスプレイレイヤー、コントローラーレイヤー、サービスレイヤー、DAOレイヤーに分割します。 SpringMVCは、リクエストの転送とビュー管理を担当するために使用され、Springはビジネスオブジェクト管理を実装し、MyBatisはデータオブジェクトの永続性エンジンとして使用されます。
フレームの詳細
Springは、エンタープライズアプリケーション開発の複雑さを解決するために作成された軽量のJava開発フレームワークです。 Springの目的は、サーバー側の開発に限定されません。シンプルさ、テスト可能性、ゆるい結合の観点から、Javaアプリケーションは春の恩恵を受けることができます。簡単に言えば、Springはコントロール(IOC)とセクション指向(AOP)コンテナフレームワークの軽量反転です。
SpringMVCは、コントローラー、モデルオブジェクト、ディスパッチャー、およびハンドラーオブジェクトの役割を分離するSpringフレームワークのその後の製品です。この分離により、カスタマイズが簡単になります。
MyBatisは、Javaベースの永続性レイヤーフレームワークです。 MyBatisは、ほぼすべてのJDBCコードとパラメーターの手動設定と結果セットの取得を排除するSQLマップとデータアクセスオブジェクト(DAO)を含む永続性レイヤーフレームワークを提供します。 MyBatisは、構成にシンプルなXMLまたはアノテーションを使用して、データベース内のレコードにインターフェイスとJavaをマッピングするために構成および生のマッピングを使用します。
1. Eclipseをダウンロードします
http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/marsrをダウンロードしてください
必要なバージョンを選択してください
2。新しいMavenプロジェクトを作成します
[ファイル]> [新規]> [Mavenプロジェクト]を選択します
次のインターフェイスを見ることができます
次のインターフェイスを表示するには、次にクリックします。 Maven-Archetype-Webappを選択します
隣をクリックして表示します。グループIDはパッケージ名であり、Artifact IDはプロジェクト名です。ここでは、グループid = com.cjt、artifact id = mymavenを入力します。
最後に、[完了]をクリックしてプロジェクトを正常に作成します
3。プロジェクト操作前の準備
新しいプロジェクトを作成した後、ビルドパスとJavaeeパッケージの導入の失敗によって引き起こされるエラーを確認できます。
1)ビルドパスを設定します
プロジェクトを右クリックして> [パスのビルド] - >ビルドパスを構成します…
次に、ライブラリを選択します
Mavenはデフォルトでライブラリを選択します。これは間違っています。これをダブルクリックして編集しましょう。
次のインターフェースでは、代替JREまたはWorkspaceのデフォルトJREを選択します。ここでは、代替JREを選択します。
2)Javaeeパッケージを紹介します
pom.xmlでJavaeeパッケージを紹介します
<! - java ee jarパッケージをインポート - > <依存> <groupid> javax </groupid> <artifactid> javaee-api </artifactid> <バージョン> 7.0 </version> </dependency>
4.プロジェクト構成ファイル設定
1)pom.xmlを設定します
次に、pom.xmlを設定し、JARパッケージをダウンロードします。このプロセスは少し遅い場合があります
pom.xml:
<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.cjt </groupid> <artifactid> mymaven </artifactid> <パッケージ> war </pack> 0.0.1-snapshot </> <> <> <> <> </birans webApp </name> <url> http://maven.apache.org </url> <properties> <! - springバージョン番号 - > <spring.version> 4.0.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2. <mybatis.version> 3.2.6 </mybatis.version> <! <slf4j.version> 1.7.7 </slf4j.version> <log4j.version> 1.2.17 </log4j.version> </properties> <dependencies> <dependency> <groupid> junit </groupid> <artifactid> junit </artifactid> </scope> </scope> </scope> </scope> Java EE JARパッケージ - > <依存関係> <GroupId> Javax </groupId> <artifactid> javaee-api </artifactid> <バージョン> 7.0 </version> </dependency> <! - springコアパッケージ - > <依存関係> <groupid> org.spramewark </groupid> <artifactid> spring-core </artifactid> <バージョン> $ {spring.version} </version> </dependency> <dependency> <groupid> org.springframework </groupid> <artifactid> spring-web </artifactid> <version> $ {spring.version} </version> </dependency> <sependency> <グループ<グループ< <Artifactid> spring-oxm </artifactid> <bersion> $ {spring.version} </version> </dependency> <dependency> <expendency> <groupid> org.springframework </groupid> <artifactid> spring </artifactid> <バージョン> $ {spring.version} < <groupid> org.springframework </groupid> <artifactid> spring-jdbc </artifactid> <version> $ {spring.version} </version> </dependency> <dependency> <groupid> org.springframework </groupid> <artifactid> spring </dependency> <dependency> groupid> org.springframework </groupid> <artifactid> spring-aop </artifactid> <version> $ {spring.version} </version} </dependency> <ependency> <ependency> org.springframework </groupid> spring-context-support> <バージョン> $ {spring.version} </version> </dependency> <dependency> <groupid> org.springframework </groupid> <artifactid> spring-test </artifactid> <バージョン> $ {spring.version} </version> </dependency> <! - mybatis core </groupid> <グループ<Artifactid> mybatis </artifactid> <bersion> $ {mybatis.version} </version> </dependency> <! - mybatis/springパッケージ - > <依存関係> groupid> org.mybatis </groupId> <artifactid> mybatis-spring < JARパッケージ - > <依存関係> <GroupId> Javax </groupId> <artifactid> javaee-api </artifactid> <version> 7.0 </version> </dependency> <! - インポートMysqlデータベースJARパッケージ - > <依存関係> mysql </groupid> mysql-continection-java <バージョン> 5.1.30 </version> </dependency> <! - dbcpのjarパッケージをインポートして、applicationcontext.xmlでデータベースを構成します - > <依存関係> commons-dbcp </groupid> <artifactid> commons-dbcp </artifactid> <バージョン <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- Log file management package --> <!-- log start --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <!-- Formatログ出力を容易にするオブジェクト - > <依存関係> groupId> com.alibaba </groupid> <artifactid> fastjson </artifactid> <バージョン> 1.1.41 </bersion> </dependency> <seplency> <バージョン> $ {slf4j.version} </version> </dependency> <dependency> <shipid> org.slf4j </groupid> <artifactid> slf4j-log4j12 </artifactid> <バージョン> $ {slf4j.version} </version> </despency> <> <> <> <> <> <> <> <groupid> org.codehaus.jackson </groupid> <artifactid> jackson-mapper-asl </artifactid> <version> 1.9.13 </version> </dependency> <! - アップロードコンポーネントパッケージ - > <依存関係> <groupid> commons-fileupload </group> commons-filePload> <バージョン> 1.3.1 </version> </dependency> <dependency> commons-io </groupid> <artifactid> commons-io </artifactid> <バージョン> 2.4 </version> </dependency> <dependency> <seprency> </build> <finalName> testMaven01 </finalName> </build> </project>2)JDBC.Propertiesを作成します
driver = com.mysql.jdbc.driverurl = jdbc:mysql:// localhost:3306/testusername = rootpassword =#define initial connection number inverysize = 1を定義する最大接続番号maxactive = 20#最大アイドルmaxidle = 20
3)log4j.properties
### Logレベルの設定#### log4j.rootlogger = debug、stdout、d、elog4j.rootlogger = debug、stdout、d ###出力### log4j.appender.stdout = org.apache.log4j.consoleappenderlog4j.appdout.stdout.tregent.tregend.tdout.tdout.tdout = System.outlog4j.appender.stdout.layout = org.apache.log4j.patternlayout#log4j.appender.stdout.layout.conversionpattern =%d {absolute} %-d {yyyy-mm-dd hh:mm:ss} [%c] - [%p]%m%n ###ログファイルへの出力### log4j.appender.d = org.apache.log4j.dailyrollingfileappenderlog4j.appender.d.file $ {springmvc.root} /web-inf/logs/log.loglog4j.appender.d.append = truelog4j.appender.d.threshold = debug log4j.appender.d.layout = org.apache.log4j.patternlayoutlog4j.apptern.d.layout.conurspittern.d.layout.conures %-d {yyyy-mm-dd hh:mm:ss} [%t:%r] - [%p]%m%n ###例外情報を分離するために例外情報を保存してください$ {springmvc.root} /webinf/logs/error.log log4j.appender.d.d.d.append = truelog4j.appender.d.threshold = error log4j.appender.d.layout = org.apache.log4j.patternlayoutlog4J.Appender.d.layout.conurut.conurut.conurt.conurt. %-d {yyyy-mm-dd hh:mm:ss} [%t:%r] - [%p]%m%n4)spring-mvc.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.cjt.controller"/> <! - ajaxを実行してjsonに戻るときにダウンロードファイルを避けます - > <bean id = "mappingjacksonhttpmessageconverter"> <プロパティ名= "supportedmediAtypes"> <値> </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>
5)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> <bean id = "dataSource" Destroy-method = "close"> <Property name = "driverclassname" value = "$ {driver}" />> "url" $ "$" " name = "username" value = "$ {username}" /> <property name = "password" value = "$ {password}" /> <! - 接続サイズの初期化 - > <プロパティ名= "イニシャルサイズ" value = "$ {hiintize}"> < /パイプロパティ> <最大のフリー接続プール - > <プロパティ名= "maxidle" value = "$ {maxidle}"> </property> <! - 最小アイドル接続プール - > <プロパティ名= "minidle" value = "$ {minidle}"> </property> <! - 最大接続待機時間を取得 - > <propertion "$" "$" $ "> Spring and MyBatisの統合、MyBatis構成マッピングファイル - > <bean id = "sqlsessionfactory"> <プロパティ名= "dataSource" ref = "dataSource"/> <! - マッピングの自動スキャン。 </bean> <! - daoインターフェイスがあるパッケージ名、springは自動的にクラスを見つけます - > <bean> <プロパティ名= "basepackage" value = "com.cjt.dao"/> <プロパティ名= " Global TxのJtatransactionManager - > <bean id = "transactionManager"> <プロパティ名= "dataSource" ref = "dataSource"/> </bean> </bean>上記のすべてのファイルはリソースフォルダーに作成されます
5.データベースコードを自動的に生成します
1)新しいテーブルを作成します
最初に、新しいテーブルuser_tを作成すると、フィールドは次のとおりです。
2)パッケージをダウンロードします
パッケージのダウンロードには、 mybatis-3.2.6.jar 、mybatis-generator-core-1.3.3.jar、mysql-connector-java-5.1.39-bin.jar
3)実行 - コードを自動的に生成します
次のファイルを含む新しいフォルダーを作成します
GeneratorConfig.xmlはコードを生成するXMLファイルであり、コンテンツは次のとおりです。
<?xml version = "1.0" encoding = "utf-8"?> <!doctype generatorconfiguration public " - // mybatis.org//dtd mybatisジェネレーター構成1.0 // en" "http://mybatis.org/dtd/mybatis-generator-generator-config_1_0データベースドライバー - > <classpathentry location = "mysql-connector-java-5.1.39-bin.jar"/> <context id = "db2tables" db2tables "db2tables" vateruntime = "mybatis3"> <commentgenerator> <プロパティ名= "サプレッサーデート"値= "true"/> < name = "Suppressallcomments" value = "true"/> </commentgenerator> <! - データベースリンクURL、ユーザー名、パスワード - > <jdbcconnection Driverclass = "com.mysql.jdbc.driver <javatyperesolver> <プロパティ名= "forcebigdecimals" value = "false"/> </javatyperesolver> <! - モデルのパッケージ名と場所を生成 - > <javamodelgenerator targetpackage = "com.cjt.domain"ターゲットプロジェクname = "trimstrings" value = "true"/> </javamodelgenerator> <! - マッピングファイルのパッケージ名と場所を生成 - > <sqlmapgenerator targetpackage = "com.cjt.マッピング"ターゲットプロジェクト= "src" "> <プロパティ名=" enableubpackage "value"/</</</</</</</< daoの名前と場所 - > <javaclientgenerator type = "xmlmapper" targetpackage = "com.cjt.dao" stargeproject = "src"> <プロパティ名= "value =" true "/> </> </javaclientgenerator> <!エンティティクラス名 - > <table tableName = "user_t" domainobjectname = "user" enablecountbyexample = "false" enabableupdatebyexample = "false" enabledeletebyexample = "false" enableSelectbyexample = "
次に、CMDコマンドを使用して、新しく作成されたフォルダーを入力して入力します。
Java -Jar MyBatis -Generator -Core -1.3.3.Jar -Configfile GeneratorConfig.xml -Overwrite
最後に、コードが生成されます。
注:コードはコマンドラインを介してここで自動的に生成され、読者はEclipseプラグインを介して生成することもできます。
6。コード開始
次のように、新しいパッケージを作成します:(矢印はすべて上記のすべてのコードで自動的に生成されます)
iuserservice.java
パブリックインターフェイスiuserservice {public user getUserbyid(int id); }userserviceimpl.java
@servicepublic class userserviceimpl iuserservice {@autowired private iuserdao userdao; public userserviceimpl(){system.out.println( "userserviceimpl"); } public user getUserbyId(int id){return userdao.selectbyprimarykey(id); }}usercontroller.java
@controller@requestMapping( "/user")public class usercontroller {public usercontroller(){system.out.println( "usercontroller"); } @Resource Private IUSERSERVICE USERSERVICE; @RequestMapping( "/showuser")public string toindex(httpservletrequest request、model model){system.out.println( "usercontroller showuser"); int id = integer.parseint(request.getParameter( "id")); user user = userservice.getuserbyid(id); model.addattribute( "user"、user); 「Showuser」を返します。 }}Web-INFの下に新しいディレクトリJSPを作成し、以下に新しいファイルshowuser.jspを作成します
showuser.jsp
<%@ page Language = "Java" contentType = "text/html; charset = utf-8" pageencoding = "utf-8" intorm = "java.util。*、com.cjt.domain。*"%> <!doctype html public " - // W3c // "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv =" content-type "content =" text/html; charset = utf-8 "> <タイトル>タイトル>
最後に、web.xmlを添付します
<?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:spring-mvc.xml </param-value> </init-on-startup> 1 </load-on-startup> <async-supported> <async-supported> true </async-supported> </servlet mapping> <servlet-name> springmvc </servlet-name> <! - ここでは、構成できます。
上記では、コード生成が完了しました。
プロジェクトはダウンロードできます: https://github.com/cjt321/mavenspirngmvcmybatis
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。