この記事では、Mavenの方法を紹介して、最初のJavaバックエンドを構築します。それはあなたと共有されます。詳細は次のとおりです。
1。知識バック
最後の号で、Mavenを使用して最初のプロジェクトを構築する方法について詳しく説明しました。前のリンクは次のとおりです。今日は、SpringMVCとMyBatisフレームワークを使用して、独自のJavaバックエンドを構築します。
2。必要な準備
maven環境はよく構築されています
mybatis、springmvc、その他のフレームワークに精通しています
mysqlデータベースの作成
3。全体的なアーキテクチャレイアウト
4。特定の手順
pom.xmlで使用するJARパッケージを構成します
<?xml version = "1.0" encoding = "utf-8"?> <! - 1つ以上の貢献ライセンス契約の下でApacheソフトウェア財団(ASF)にライセンスされています。著作権所有に関する追加情報については、この作業で配布された通知ファイルを参照してください。 ASFは、Apacheライセンス、バージョン2.0(「ライセンス」)に基づいて、このファイルをお客様にライセンスします。ライセンスに準拠している場合を除き、このファイルを使用することはできません。 http://www.apache.org/licenses/license-2.0でライセンスのコピーを取得することができます。ライセンスに基づく権限と制限を管理する特定の言語のライセンスを参照してください。-> <! - $ ID:pom.xml 642118 2008-03-28 08:04:16z Reinhard $ - > <Project XMLNS = "http://maven.apache.org/pom/4.0.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/maven-v4_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_ <modelversion> 4.0.0 </modelversion> <packaging> war </packaging> <name> yakei </name> <groupid> com.yakei </groupid> <artifactid> yakei </artifactid> <バージョン<GroupId> junit </groupId> <artifactid> junit </artifactid> <version> 4.11 </version> <scope> test </scope> </dependency> <! - プロジェクト依存関係の完了 - > <! - 1。 Log Javaログには、slf4j、log4j、logback、compon-logging slf4j:specification/interface log実装:log4j、logback、common-logging use:slf4j+logback-> <依存> <依存> <依存> </dependency> <dependency> groupid> ch.qos.logback </groupid> <artifactid> logback-core </artifactid> <バージョン> 1.1.1 </version> </dependency> <! - integrate--統合 - > <依存関係> <groupid> qos.logback <バージョン> 1.1.1 </version> </dependency> <! - 1。データベース関連の依存関係 - > <依存関係> <groupId> mysql </groupId> <artifactid> mysql-connector-java </artifactid> <version> <bersion> runtime </scope> </dependency> <sependency> <グループ<バージョン> 0.9.1.1 </version> </dependency> <! - 2.daoフレームワーク:mybatis依存関係 - > <依存性> <groupid> org.mybatis </groupid> <artifactid> mybatis </artifactid> <バージョン> 3.3.0 </バージョン> </依存関係> <GroupId> org.mybatis </groupid> <artifactid> mybatis-spring </artifactid> <bersion> 1.2.3 </version> </dependency> <! - 3. servlet web関連依存関係 - > <依存関係> <依存関係> <groupid> taglibs </groupid> <artifactid> </artifactid> <Dependency> GroupId> jstl </groupId> <artifactid> jstl </artifactid> <version> 1.2 </version> </dependency> <dependency> <groupid> com.fasterxml.jackson.core </groupid> <artifactid> artifactid> artifactid> jackson-databind </artifactid> <groupid> javax.servlet </groupid> <artifactid> javax.servlet-api </artifactid> <bersion> 3.1.0 </version> </dependency> <! - 4:spring依存関係 - > <! - 1)スプリングコア依存関係 - > <依存関係> <springID < <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <バージョン> 4.1.7.Release </version> </dependency> <! - 2)spring dao layer依存関係 - > <依存関係> <groupid> org.springframework </groupid> <artifactid> spring-jdbc </artifactid> <バージョン> 4.1.7.release < <artifactid> spring-tx </artifactid> <バージョン> 4.1.7.release </version> </dependency> <! - 3)springweb関連の依存関係 - > <依存関係> groupid> org.springframework </groupid> <artifactid> spring-web </artifactid> </</</</> </</</</</</</</</</</</</</</</</</</desp <groupid> org.springframework </groupid> <artifactid> spring-webmvc </artifactid> <version> 4.1.7.release </version> </dependency> <! - 4)spring test関連依存関係 - > <依存関係> <groupid> org.springframework </artifid> <artifactid> <artifactid> </groupid> <バージョン> 4.1.7.Release </version> </dependency> </dependencies> </project>
Spring、MyBatisなどの一連のJARパッケージをカバーしています。このプロセスは、Androidがbuild.gradleのサードパーティの依存関係を追加することに似ており、原則は一貫しています。
2。リソースディレクトリに2つのディレクトリを作成します:Mapper、Spring
Mapper:MapperはMyBatisフレームワークのマッピングであり、その機能はDAOレイヤーでマッピングファイルを使用することです。ここで、user.xmlマップを作成しました:
赤い部分に注意を払う必要があります。一番上の1つは、DAOレイヤーをマッピングするパスで、2番目のレイヤーはリターンオブジェクトのタイプです。ここにコードを投稿します:
<!doctype mapper public " - // mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> IS、DAOインターフェイスでメソッドのSQLステートメントを書きます - > <選択id = "getall" resultType = "com.dajiu.bean.user"> select * fromユーザー</select> <select id = "getlogin" resultType = "
スプリング:主にスプリングの構成ファイルをロードします
1.Spring-dao.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:context = "http://www.springframework.org/schema/context" xsi:schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.orgwork.org/schems.spring/ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd "> <! - 構成統合mybatisプロセス1。 location = "classpath:jdbc.properties"/> <! - 2。データベース接続プール - > <bean id = "dataSource"> <! - 接続プールプロパティの構成 - > <プロパティ名= "driverclass" value = "$ {driver}" /> <! - 基本プロパティURL、ユーザー、パスワード - > <プロパティ= "jdbcurl" value = "$ {url}" value = "$ {password}"/> <! - c3p0プライベートプロパティ - > <プロパティ名= "maxpoolsize" value = "30"/> <プロパティname = "minpoolsize" value = "10"/> <! - 接続を閉じた後に自動的にコミットされていない - > <プロパティ名= "autocommitonclose" value = "fals" value = "10000"/> <! - 接続が失敗したときの再試行の数 - > <プロパティ名= "quackiireretryattempts" 2 "/> </bean> <! - 慣習は構成よりも大きい - > <! - 3. sqlsessionfactoryオブジェクトの構成 - > <bean id =" sqlsessionfactory "> <!データベース接続プール - > <プロパティ名= "DataSource" ref = "dataSource"/> <! - mybatisグローバル構成ファイルの構成ファイル:mybatis-config.xml - > <プロパティname = "configlocation" value = "classpath:mybatis-config.xml"/>> <個別 - > <プロパティname = "typealiasespackage" value = "com.dajiu.bean"/> <! - sql構成ファイルをスキャンします。 Spring Container - > <bean> <! - Inject sqlsessionFactory-> <Property name = "sqlsessionfactorybeanname" value = "sqlsessionfactory"/> <! - > <property name = "basepackage" value = "com.dajiu.dao"/>> </bean> </bean注意を払う場所:
データベースに接続します:
グローバルMyBatis-ConfigおよびBeanクラスを構成し、すべてのファイルをMapperの下に置いてください
DAOを構成します
2.spring-service.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:Context = "http://www.springframework.org/schema/context" xmlns:tx = "http://www.springframework.org/schema/tx" xsi:schemalocation = "http://ww.springframework http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd "> <!-サービスパッケージのあらゆる種類の注釈をスキャンします - >マネージャー - > <bean id = "transactionManager"> <! - Inject database接続プール - > <プロパティ名= "DataSource" ref = "dataSource"/> </bean> <bean id = "date"> </bean> < Transaction-Manager = "TransactionManager"/> </beans>
地元に注意してください:
サービスを構成します
3.Spring-web.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:Context = "http://www.springframework.org/schema/context" xmlns:mvc = "http://www.springframework.org/schema/mvc" xsi:schemalocation = " http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd "> <! - 構成スプリングMVC-> <! - 1、SpringMVC AnnotationモードA。 DefaultAnnotationHandLermapping、AnnotationMethodhandlerAdapter bを自動的に登録します。デフォルトでは、一連の関数が提供されます:データバインディング、数字と日付の形式@numberformat、@datetimeformat c:xml、jsonのデフォルトの読み取りおよび書き込みサポート - > <mvc:annotation-driven/> <! - 2。静的リソースのデフォルトサーブレット構成 - > <! - 1)。静的リソース処理を追加:JS、GIF、PNG 2)。 "/"が全体的なマッピングを行うことを許可 - > <mvc:default-servlethandler/> <! - 3:jspを構成するjspをviedresolver-> <bean> <property name = "viewclass" value = "org.springframework.web.servlet.view.jstlview"/> <Property = "/web-inf/<"/> <"/< value = "。jsp"/> </bean> <! - 4:Web関連の豆をスキャン - > <コンテキスト:component-scansaber-package = "com.dajiu.controller"/> <mvc:リソースマッピング= "/**/*。 <MVC:リソースマッピング= "/**/*。css" location = "/> <mvc:resources mapping ="/**/*。png "location ="/"/> <mvc:リソースマッピング="/**/*
地元に注意してください:
コントローラーを構成します
5。論理実装(ユーザーを例にとる)
first Beanのユーザークラスを定義します
パッケージcom.dajiu.bean;/*** 2017/4/7にZhangxingによって作成されました。 */public classユーザー{private int id;プライベート文字列名;プライベート文字列パスワード。 public int getid(){return id; } public void setid(int id){this.id = id; } public string getname(){return name; } public void setName(string name){this.name = name; } public string getPassWord(){パスワードを返します。 } public void setPassword(string password){this.password = password; }}daoでuserdaoインターフェイスを定義します
パッケージcom.dajiu.dao; Import com.dajiu.bean.user; Import org.apache.ibatis.annotations.param; Import org.springframework.stereotype.repository; Import java.util.list;/*** 2017/4/7にZhangxingによって作成されました。 */@repositorypublicインターフェイスuserdao {list <user> getall();ユーザーgetlogin(@param( "name")文字列名、@param( "password")文字列パスワード);}user.xmlのマッピングDAOレイヤー
serviceサービス内のインターフェイスを宣言する
パッケージcom.dajiu.service; Import com.dajiu.bean.user; Import java.util.list;/***は2017/4/7にZhangxingによって作成されました。 */public interface userservice {list <user> getall();ユーザーgetLogin(文字列名、文字列パスワード);}service.implにインターフェイスロジックを実装します
パッケージcom.dajiu.service.impl; Import com.dajiu.bean.user; Import com.dajiu.dao.userdao; Import com.dajiu.service.userservice; Import org.springframework.beans.factory.annotation.Autowired; Import.SpringFrameWork; java.util.list;/*** 2017/4/7にZhangxingによって作成されました。 */ @service( "userservice")public class userserviceimpl explence userservice {@autowired userdao userdao; public list <user> getall(){return userdao.getall(); } publicユーザーgetLogin(String name、string password){return userdao.getLogin(name、password); }}ここで@Autowiredは、新しいインスタンスを作成するのと同等です
controllerコントローラーの実際のバックグラウンドコールロジック
パッケージcom.dajiu.controller; import com.dajiu.bean.user; Import com.dajiu.service.userservice; Import org.springframework.beans.factory.annotation.autowired; Import org.springframework.stereotyce.controller; Import; org.springframework.web.bind.annotation.requestmapping; Import org.springframework.web.bind.annotation.responsebody; Import java.util.hashmap; Import java.util.list; Import java.util.map; */@controller@requestMapping( "/blog")パブリッククラスusercontroller {@autowired userservice userservice; @RequestMapping( "/getUser")@responsebody public map <string、object> getuser(){map map = new hashmap();リスト<ユーザー> list = userservice.getall(); map.put( "user"、list); map.put( "status"、1); map.put( "success"、true);マップを返します。 } @RequestMapping( "getLogin")@ResponseBody public Map <string、object> getlogin(string name、string password){map map = new Hashmap();ユーザーユーザー= userservice.getLogin(名前、パスワード); map.put( "user"、user); map.put( "Islogin"、true); map.put( "status"、1);マップを返します。 }}ここでは、@RequestMapping( "")はアクセスされたマッピングパスを表し、 @ResponseBodyはJSONデータ形式で印刷されたリクエスト結果を表し、@Controllerは、上記のルートマッピングパスにアクセスされる限り、コントローラーが直接呼び出されることを表します。
次に、あなたのアイデアを理解するのを手伝いましょう:最初のリクエストasercontroller ---> userservice ----> userserviceimpl ----> userdao ---> user.xml(mapper)----> bean(user)
6.Tomcatサーバーを構成します
rife右上隅にある緑の三角形ボタンをクリックし、[構成の編集]をクリックします
+ +サインをクリックして、Tomcatを選択します
rocalローカルを選択します
関連する構成で埋められます
deploymentをクリックし、 +サインをクリックして、Artifactを選択します
次に、最初のアイテムを選択して、入り続けます
このようにして、プロジェクト全体が完了し、次のステップは訪問することです
さて、今日、SpringMVCとMyBatis Building Java Backendの説明は終わりました。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。