이 기사는 주로 Java 프레임 워크 구성의 Maven, Mybatis 및 Spring MVC (그림 및 텍스트)의 통합을 소개합니다. 그것은 당신과 공유됩니다. 세부 사항은 다음과 같습니다.
SSM (Spring+SpringMVC+Mybatis), 현재 비교적 주류 엔터프라이즈 수준 아키텍처 솔루션입니다. 표준 MVC 설계 모델은 전체 시스템을 디스플레이 레이어, 컨트롤러 계층, 서비스 계층 및 DAO 계층의 네 개의 레이어로 나눕니다. SpringMVC는 요청 전달 및보기 관리를 담당하는 데 사용되며 Spring은 비즈니스 객체 관리를 구현하며 MyBatis는 데이터 객체 지속성 엔진으로 사용됩니다.
프레임 세부 사항
Spring은 엔터프라이즈 애플리케이션 개발의 복잡성을 해결하기 위해 만들어진 가벼운 Java 개발 프레임 워크입니다. Spring의 목적은 서버 측 개발에만 국한되지 않습니다. 단순성, 테스트 가능성 및 느슨한 커플 링 관점에서 모든 Java 응용 프로그램은 스프링의 혜택을받을 수 있습니다. 간단히 말해서, Spring은 제어 (IOC) 및 섹션 지향 (AOP) 컨테이너 프레임 워크의 경량 반전입니다.
SpringMVC는 SpringFramework의 후속 제품으로 컨트롤러, 모델 객체, 디스패처 및 핸들러 객체의 역할을 분리합니다. 이 분리는 더 쉽게 사용자 정의 할 수있게합니다.
Mybatis는 Java 기반 지속성 계층 프레임 워크입니다. MyBatis는 SQL 맵 및 데이터 액세스 개체 (DAO)를 포함한 지속성 계층 프레임 워크를 제공하여 거의 모든 JDBC 코드 및 매개 변수의 수동 설정과 결과 세트 검색을 제거합니다. MyBatis는 단순한 XML 또는 주석을 사용하여 구성 및 원시 매핑을 사용하여 인터페이스 및 Java를 데이터베이스의 레코드에 매핑합니다.
1. Eclipse를 다운로드하십시오
http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/marsr을 다운로드하십시오
원하는 버전을 선택하십시오
2. 새로운 Maven 프로젝트를 만듭니다
파일> 새> Maven 프로젝트를 선택하십시오
다음 인터페이스를 볼 수 있습니다
다음 인터페이스를 보려면 다음을 클릭하십시오. Maven-Archetype-Webapp을 선택합니다
다음을 클릭하여보십시오. 그룹 ID는 패키지 이름이고 아티팩트 ID는 프로젝트 이름입니다. 여기에 그룹 ID = com.cjt, artifact id = mymaven을 입력합니다.
마지막으로 마무리를 클릭하여 프로젝트를 성공적으로 만듭니다
3. 프로젝트 운영 전 준비
새 프로젝트를 만들면 빌드 경로와 Javaee 패키지를 소개하지 못한 오류가 표시됩니다.
1) 빌드 경로를 설정하십시오
프로젝트> 빌드 경로-> 빌드 경로 구성을 마우스 오른쪽 버튼으로 클릭하십시오…
그런 다음 라이브러리를 선택하십시오
Maven은 기본적으로 라이브러리를 선택합니다. 이것은 잘못되었습니다. 편집하려면 이것을 두 번 클릭합시다.
다음 인터페이스에서는 대체 JRE 또는 작업 공간 기본 JRE를 선택합니다. 여기서 우리는 대체 JRE를 선택합니다.
2) Javaee 패키지를 소개하십시오
pom.xml에 Javaee 패키지 소개
<!-Java EE JAR 패키지 가져 오기-> <pectionency> <groupId> javax </groupid> <artifactid> javaee-api </artifactid> <버전> 7.0 </version> </fectionency>
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.apache.org/pom/0.0.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> <modelversion> 4.0.0 </modelversion> <groupid> com.cjt </groupid> <artifactid> mymaven </artifactid> <packaging> war </packaging> <0.1-snap <-snapshot> testmaven0 webapp </name> <url> http://maven.apache.org </url> <properties> <!-스프링 버전 번호-> <spring.version> 4.0.2. release </spring.version> <!-mybatis 버전 번호-> <mybatis.version> 3.2.6 </mybatis.version> <!-log4J 파일 관리 패키지-| <slf4j.version> 1.7.7 </slf4j.version> <log4j.version> 1.2.17 </log4j.version> </properties> <pectioniles> <prectionency> <groupid> junit </groupid> <atifactid> junit> </inpectement> 3.8.1 </version> </scope> </version> </version> Java EE JAR 패키지-> <pectionency> <groupId> javax </groupid> <artifactid> javaee-api </artifactid> <version> 7.0 </version> </fectionency> <!-스프링 코어 패키지-> <pectionency> <groupid> org.springframwork </groupid> <artifactid> spring-core> <버전> $ {spring.version} </version} </version> </dependency> <pectionency> <groupid> org.springframework </groupid> <artifactid> spring-web </artifactid> <버전> $ {spring.version} </version> </dependency> <groupid> <groupid> org.springframework </groupid> <artifactid> spring-oxm </artifactid> <bersion> $ {spring.version} </version} </version> </dependency> <prevence> <groupid> org.springframework </groupid> <artifactid> spring-tx </artifactid> <version> $ {spring.version} </dependency> </dependency> <pelaxency> <groupid> org.springframework </groupid> <artifactid> spring-jdbc </artifactid> <버전> $ {spring.version} </version> </dependency> <prectionency> <groupId> org.springframework </groupid> <artifactid> spring-webmvc </artifactid> <version> $ {$ {spring </의존성> <pectionency> <groupId> org.springframework </groupid> <artifactid> spring-aop </artifactid> <버전> $ {spring.version} </version> </dependency> <groupid> org.spramework </group-actid> spring-context-support </artifactid> <버전> $ {spring.version} </version} </version} </version> <pectionency> <groupid> org.springframework </groupid> <artifactid> spring-test </artifactid> <버전> $ {spring.version} </version> </dependency> <!-mybatis core 패키지-> </groupid> org.mybatis </groupid> <artifactid> mybatis </artifactid> <버전> $ {mybatis.version} </version} </version} </version} </version </fectionency> <!-mybatis/spring package-> <pectionency> <groupid> org.mybatis </groupid> <artifactid> mybatis-spring </artifactid> </version> </version> <! 패키지-> <pectionency> <groupId> javax </groupId> <artifactid> javaee-api </artifactid> <bersion> 7.0 </version> </fectionency> <!-MySQL 데이터베이스 링크 JAR 패키지 가져 오기-> <groupid> mySQL </groupId> <artifactid> mysql-connector </artifactid> <버전> 5.1.30 </version> </dependency> <!-DBCP의 JAR 패키지를 가져와 ApplicationContext.xml에서 데이터베이스를 구성하기 위해 DBCP의 JAR 패키지를 가져 오기-> <prection> <groupid> commons-dbcp </groupId> <artifactid> commons-dbcp </artifactid> <2.2 </version> </dependency> <! <groupid> jstl </groupid> <artifactid> jstl </artifactid> <버전> 1.2 </version> </dependency> <!-로그 파일 관리 패키지-> <!-log start-> <prementency> <groupID> log4J </groupId> <artifactID> log4J </artifActID> $ {</version>} </version}} </version}. 로그 출력-> <pectionement> <groupid> com.alibaba </groupid> <artifactid> fastjson </artifactid> <버전> 1.1.41 </version> </fexpendency> <groupid> org.slf4j </groupid> slf4j-api </artifactid> <버전> $ {slf4j.version} </version> </dependency> <pectionency> <groupid> org.slf4j </groupid> <artifactid> slf4j-log4j12 </artifactid> <version> $ {slf4j.version} </fextency> <!-log endency> <!-input J--> input Json> <groupid> org.codehaus.jackson </groupid> <artifactid> Jackson-Mapper-Asl </artifactid> <버전> 1.9.13 </version> </dependency> <!-구성 요소 패키지 업로드-> <pectionency> <groupid> commons-fileupload </groupId> <artifactid> commons-fileupload>. </의존성> <pectionency> <groupId- Commons-Io </groupId> <artifactid> Commons-Io </artifactId> <버전> 2.4 </version> </fectionement> <groupIdency> <groupId> commons-codec </groupid> <artifactid> commons-codec </artifactid> </version> </spectement> </bucket> <FinalName> testMaven01 </finalName> </build> </project>2) jdbc.properties를 만듭니다
드라이버 = com.mysql.jdbc.driverUrl = jdbc : mysql : // localhost : 3306/testusername = rootpassword =#정의 초기 연결 번호 이니셜 사이즈 = 1#최대 연결 번호 정의 maxactive = 20#정의 최대 유휴 maxidle = 20#define minimum wait minimum time maxwait maxwait maxwait maxwait maxwit
3) log4J.properties
### 로그 레벨 설정 #### log4j.rootlogger = Debug, Stdout, D, Elog4j.rootlogger = Debug, D ### 콘솔 ### log4j.appender.stdout = org.apache.consoleAppenderlog4j.appender.stdout.target = system.outlog4j.appender.stdout.layout = org.apache.log4j.patternlayout#log4j.appender.stdout.layout.conversionpattern = %d {절대} %5p %c {1} : %l - %m %nlog4j.appender.stdout.layout.convernovernpattern = %-d {yyyy-mm-dd hh : mm : ss} [%c]-[%p]%m%n ### 로그 파일에 대한 출력 ### log4j.appender.d = org.apache.log4j.dailyrollingfileAppenderLog4J.Appender.file = $ {springmvc.root}/web-inf/logs/log.loglog4j.appender.d.append = truelog4j.appender.d.threshold = debug log4j.appender.d.layout = org.apache.log4j.patternlayoutlog4j.appender.d.layout.converOnverOnverOnverOnverOnverOUT.CONVERSONVEROUTN %-d {yyyy-mm-dd hh : mm : ss} [ %t : %r]-[ %p] %m %n ### 예외 정보를 별도의 파일에 저장 ### log4j.appender.d = org.apache.log4j.dailyrollingfileappenderlog4j.appender.d.file =. $ {springmvc.root}/web-inf/logs/error.log log4j.appender.d.append = truelog4j.appender.d.threshold = error log4j.appender.d.layout = org.apache.log4j.patternlayoutlog4j.appender.d.layout.conversionpantern = %-d {yyyy-mm-dd hh : mm : ss} [ %t : %r]-[ %p] %m %n4) Spring-MVC.xml
<? xml 버전 = "1.0"alcoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans"xmlns : xsi = "http://ww.w.w3.org/2001/xmlschema-instance" xmlns : p = "http://www.springframework.org/schema/p"xmlns : context = "http://www.springframework.org/schema/mvc"xsi : schemalocation = "http://www.springfrfringwork.org/schema/schema/schema/schema/schema http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/sprging-3.1.xtd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd "> <! <!-스프링 미 VC가 패키지가 @controller가 @controller가 고려했다고 생각합니다. BASE-PACKAGE = "COM.CJT.CONTROLLER"/> <!-IE가 AJAX를 실행하고 JSON으로 돌아올 때 파일 다운로드를 피하십시오.> <Bean id = "Mapping JacksonHttpMessAgeConverter"> <PropertyTymer "> <list> <atole> text/html; charset = utf-8 </vales> </vales> </list> </vales> </vales> </vales> </vales> </vales. SpringMVC 주석 기능 요청 및 주석의 매핑을 완료하기위한 pojos-> <ean> <property name = "messageconverters"> <list> <ref bean = "Mapping JacksonHttpMessageConverter"/> <!-JSON 변환기-> </list> </production> </bean> <!-<! 여기서 구성을 이해하는 것은 후속 조치의 메소드에 의해 반환 된 문자열을 자동으로 접두사하고 접미사하여 사용 가능한 URL 주소가되기 위해-> <속성 이름 = "prefix"value = "/web-inf/jsp/"/> <property name = "puffix"value = ". 파일 업로드를 사용하지 않으면 구성 할 필요가 없습니다. 물론 일치하지 않으면 구성 파일에 업로드 구성 요소 패키지를 소개 할 필요가 없습니다-> <bean id = "multipartresolver"> <!-기본 인코딩-> <속성 인코딩 = "defaultencoding"value = "utf-8" /> <!-최대 파일 크기-> <속성 이름 = "maxuploadsize"value = "1048570000" />. -> <property name = "maxInMemorySize"value = "40960"/> </bean> </beans>
5) spring-mybatis.xml
<? xml 버전 = "1.0"alcoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans"xmlns : xsi = "http://ww.w.w3.org/2001/xmlschema-instance" xmlns : p = "http://www.springframework.org/schema/p"xmlns : context = "http://www.springframework.org/schema/mvc"xsi : schemalocation = "http://www.springfrfringwork.org/schema/schema/schema/schema/schema http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/sprging-3.1.xtd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd "> <!-자동 스캔-> <context : component-scan base-package ="com.service "//> inforpice id = "propertyconfigurer"> <속성 이름 = "위치"value = "classpath : jdbc.properties" /> < /bean> <bean id = "dataSource"destroy-method = "close"> <property name = "driver className"value = "$ {driver}" /> <property name = "url"value = "$ {url}" />. value = "$ {username}" /> <속성 이름 = "password"vale "vale"= "$ {password}" /> <!-연결 크기 초기화-> <속성 이름 = "initialsize"value = "$ {initialsize}"> < /property> <!-최대 연결 풀-> <속성 이름 = "maxactive" "$}"-< /propertive ""-{maxactive} ". <property name = "maxidle"value = "$ {maxidle}"> </property> <!-최소 유휴 연결 풀-> <속성 이름 = "minidle"value = "$ {minidle}"> </property> <!-최대 연결 대기 시간 가져옵니다-> <속성 이름 = "maxwait"value = "$}"> </bean>> </bean>> </bean. mybatis, 없음 mybatis 구성 매핑 파일-> <bean id = "sqlsessionfactory"> <속성 이름 = "dataSource"ref = "dataSource"/> <!-맵핑의 자동 스캔-> <속성 이름 = "mapperlocations"value = "classpath : com/cjt/맵핑/*. DAO 인터페이스는 스프링이 그 아래에 클래스를 자동으로 찾을 것입니다-> <ean> <속성 이름 = "basePackage"value = "com.cjt.dao"/> <속성 이름 = "sqlsessionfactorybeanname"value = "sqlsession actory"> </property> </bean> <!-(거래 관리) 트랜잭션 관리자, jtatransactionmanager를 사용합니다. id = "TransactionManager"> <속성 이름 = "DataSource"ref = "DataSource"/> </bean> </beans>위의 모든 파일은 리소스 폴더에서 생성됩니다.
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 generator configuration 1.0 // en" "http://mybatis.org/dtd/mybatis-conerator-config_1_0.dtd"> 데이터베이스 드라이버-> <classPathentry 위치 = "MySQL-Connector-Java-5.1.39-bin.jar"/> <context id = "db2tables"targetruntime = "mybatis3"> <commentgenerator> <속성 이름 = "suppressdate"value = "true"! <! 이름 = "suppressAllComments"value = "true"/> </commentGenerator> <!-데이터베이스 링크 URL, 사용자 이름, 비밀번호-> <jdbcConnection driverclass = "com.mysql.jdbc.driver"ConnectuRl = "jdbc : mysql : // localhost : 3306/test"useporde = "" "" "" "" "" ". <javatyperesolver> <property name = "ForceBigDecimals"value = "false"/> </javatyperesolver> <!-모델의 패키지 이름과 위치를 생성-> <javamodelgenerator targetpackage = "com.cjt.domain"targetproject = "src"<value = "albablesubackages"alubsubppppppp packps " 이름 = "trimstrings"value = "true"/> </javamodelgenerator> <!-매핑 파일의 패키지 이름과 위치를 생성합니다-> <sqlmapgenerator targetpackage = "com.cjt.mapping"targetproject = "src"> <property name = "enablebackages"value "/> </sqlmmpgenerator> </sqlmmmmp. dao-> <javaclientgenerator type = "xmlmapper"targetpackage = "com.cjt.dao"targetproject = "src"> <property name = "enablesubpackages"value = "true"/> </javaclientgenerator> <! </javaclientgenerator> <!-표현의 이름은 the tamainobjectname입니다. tableName = "user_t"domainObjectName = "user"enableCountByExample = "false"enableUpdateByexample = "false"enabledeTeTeByexample = "false"enableseLectByexample = "false"selectByexamplequeryId = "false"> </table> </context> </generatorconfiguration>
그런 다음 CMD 명령을 사용하여 새로 생성 된 폴더를 입력하고 다음을 입력합니다.
Java -jar mybatis -generator -core -1.3.3.jar -configfile generatorconfig.xml -write
마지막으로 코드가 생성됩니다.
참고 : 코드는 명령 줄을 통해 여기에서 자동으로 생성되며 리더는 Eclipse 플러그인을 통해이를 생성 할 수도 있습니다.
6. 코드 시작
다음과 같이 새 패키지 만들기 : (화살표는 모두 자동으로 생성 된 코드입니다)
iuserservice.java
공개 인터페이스 iuserservice {public user getUserByid (int id); }usererviceimpl.java
@ServicePublic Class usererViceimpl은 iuserservice {@autowired private iuserdao userdao; public userviceimpl () {system.out.println ( "userviceimpl"); } 공개 사용자 getUserById (int id) {return userDao.SelectByPrimaryKey (id); }}Usercontroller.java
@controller@requestMapping ( "/user") public class userController {public usercontroller () {system.out.println ( "usercontroller"); } @Resource private iuserService userErvice; @requestmapping ( "/showuser") public string toindex (httpservletrequest 요청, 모델 모델) {system.out.println ( "usercontroller showuser"); int id = integer.parseint (request.getParameter ( "id")); 사용자 user = userervice.getUserById (id); model.adtattribute ( "사용자", 사용자); "Showuser"를 반환합니다. }}Web-Inf에서 새 디렉토리 JSP를 만들고 아래에 새 파일 showuser.jsp를 만듭니다.
showuser.jsp
<%@ page language = "java"contenttype = "text/html; charset = utf-8"pageencoding = "utf-8"import = "java.util.*, com.cjt.domain.*"%> <! doctype html public "-// w3c // dtd html 4.01 Transitional // en" "http://www.w3.org/tr/tr/tr/html4/loose.dtd"> html> html> http-quiv ="content-type "content ="text/html; charset = utf-8 "> <title> ins ins ins ins ins </head> </body> </body>}
마지막으로 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/ns/javaee" xsi : schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_3_0.xsd"3.0 ">"> "> 웹 응용 프로그램 </display-name> <!-스프링 및 myBatis 구성 파일-> <countxt-param> <param-name> contextConfigLocation </param-name> <param-value> classpath : spring-mybatis.xml </param-value> </context-param> <!-<filter- <filter-name> emtername> <filter-class> org.springframework.web.filter.characterencodingfilter </filter-class> <Async-supported> true </async-supported> <init-param> <param-name> encoding </param-name> <param- value> utf-8 </param-value> <filter-name> encodingFilter </filter-name> <Url-pattern>/*</url-pattern> </filter-mapping> <!-스프링 리스너-> <Leater-class> org.springframework.web.context.contextLoaderListener </listener-class> <sliser- <sliser- <slister-> <slister-> <Leater-Class> org.springframework.web.util.introspectorcleanUplistener </Leater-Class> </Listener> <!-Spring MVC Servlet-> <servlet> <servlet-name> springmvc </servlet-name> <servlet-class> org.springfrfff.weervlet. <init-param> <param-name> contextConfigLocation </param-name> <param- value> classpath : spring-mvc.xml </param-value> </init-param> <load-on-startup> 1 </load-on-startup> <async-supported> true </async-supported> <servlet-mapping> <Servlet-name> springmvc </servlet-name> <!-여기에서 struts의 접미사 습관에 해당하는 *.do를 구성 할 수 있습니다-> <Url-pattern>/</url-pattern> </servlet-mapping> <welce-file-list> <compile>/index.jsp </welcome-file-list> </web-app
위의 코드 생성이 완료되었습니다.
프로젝트는 https://github.com/cjt321/mavenspirngmvcmybatis 를 다운로드 할 수 있습니다
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.