Este artigo apresenta o método do Maven para construir seu primeiro back -end de Java. É compartilhado com você. Os detalhes são os seguintes:
1. Conhecimento de volta
Expliquei em detalhes na última edição de como usar o Maven para criar seu primeiro projeto. O link anterior é; Hoje vou usar estruturas Springmvc e Mybatis para construir seu próprio back -end de Java.
2. Preparativos necessários
①Intellij Idea, o ambiente Maven é bem construído
Familiar com Mybatis, Springmvc e outras estruturas
③ Criação do banco de dados MySQL
3. Layout geral da arquitetura
4. Etapas específicas
①Figure o pacote JAR para usar em pom.xml
<? xml versão = "1.0" coding = "utf-8"?> <!-licenciado na Apache Software Foundation (ASF) sob um ou mais contratos de licença de contribuinte. Consulte o arquivo de aviso distribuído com este trabalho para obter informações adicionais sobre a propriedade de direitos autorais. O ASF licencia este arquivo para você sob a licença Apache, versão 2.0 (a "licença"); Você não pode usar esse arquivo, exceto em conformidade com a licença. Você pode obter uma cópia da licença em http://www.apache.org/license/license-2.0, a menos que exigido pela lei aplicável ou acordada por escrito, o software distribuído pela licença é distribuído "como está", sem garantias ou condições de qualquer tipo, expresso ou implícito. Consulte a licença para o idioma específico que rege as permissões e limitações sob a licença .--> <!-$ id: pom.xml 642118 2008-03-28 08: 04: 16Z Reinhard $-> <Projeto 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/4.0.0 http://maven.apache.org/maven/4.0.0 http:/ <ModelVersion> 4.0.0 </modelversion> <batyaging> war </acheging> <name> yakei </name> <purbrouD> com.yakei </foupiD> <TRAFACTID> yakei </artifactId> <bersion> 1.0-snapshot </versão <ependers> <hin when Dependence> <-3.0s usado é usado para JUNIT IS USTUST IS USTUST IS USTUST IS USTUST IS USTUST IS USTUSTION TESTILIMENTE <-! <GrupidId> Junit </foupiD> <TarifactId> Junit </starifactId> <versão> 4.11 </version> <cope> test </cope> </pendendency> <!-Complete Project Dependências-> <!-1. Os logs de log Java incluem: SLF4J, LOG4J, Logback, Slf4j de login com comum: é a implementação do log de especificação/interface: log4j, logback, uso comum: slf4j+logback-> <pendency> <vrougId> org.slf4j </groupid> <TifactId> slf4j-api <groupid> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.1</version> </dependency> <!--Implement slf4j interface and integrate--> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <Versão> 1.1.1 </sistER> </dependency> <!-1. Database-related dependencies--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.36</version> <scope>runtime</scope> </dependency> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <Versão> 0.9.1.1 </sistER> </dependency> <!-2.DAO Framework: mybatis dependência-> <pendency> <purbrouDId> org.mybatis </groupid> <stifactId> mybatis </stifactid> <versão> 3.3.0 </versão> </dependência> <! <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.3</version> </dependency> <!--3.Servlet web-related dependencies--> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <dependency> <GrupidId> jstl </proupId> <TRAFACTID> JSTL </STIFACTID> <Versão> 1.2 </siers> </dependency> <pendency> <voundid> com.fasterxml.jackson.core </groupid> <stifactid> jackson-databind </artifactid> </uredid> <GrupId> javax.servlet </frugiD> <ArtifactId> javax.servlet-api </artifactId> <versão> 3.1.0 </versão> </dependency> <!-4: spring dependências-> <!-1) núcleo de mola dependências-> <Pendency> <purgid> org.springringfamework </groupIdwring </groupidwinerghtringfame </spring </core de springringdringframewring </) </dependency> <purft> <purft> <freft> </dependency> <! <Versão> 4.1.7.release </sipers> </dependency> <pendencency> <puperiD> org.springframework </groupiD> <TRARFACTID> Spring-beans </stifactId> <sipers> 4.1.7.release <Versão> 4.1.7.release </sipers> </dependency> <!-2) Spring Dao Camada Dependências-> <pendency> <puperid> org.springframework </groupId> <stifactId> spring-jdbc </artifactid> <versão> 4,1.7.ReLease </sipers> </dependência <TRAFACTID> spring-tx </stifactId> <versão> 4.1.7.release </siers> </dependency> <!-3) Dependências relacionadas à Springweb-> <pendesency> <puperid> org.springframework </frupId> <stifactId> primavera <//Artifactid> <versão> 4.17777770 </friptid> </agountid> <sundeEn> </sorg.springframework </fielent> <tifactId> </Artifactid> <versão> 4.177770 </fameStid> </ugress> </agoundEn> </artifactid> <versão> 4,10 </fameStid> </springlel> <//Artifactid> <versão> 4,10> <PuerpId> org.springframework </frugiD> <stifactId> spring-webmvc </artifactId> <versão> 4.1.7.release </sipers> </dependency> <!-4) dependências relacionadas à mola-> <spendency> <roundid> org.springfamerwid </Grupoid> <Versão> 4.1.7.reLease </sipers> </dependency> </dependências> </Project>
Ele abrange uma série de pacotes JAR, como Spring, Mybatis, etc. Esse processo é semelhante ao Android adicionando dependências de terceiros ao Build.gradle, e os princípios são consistentes.
2. Crie dois diretórios no diretório de recursos: mapeador, mola
Mapper: Mapper é um mapeamento da estrutura Mybatis, e sua função é usar o arquivo de mapeamento na camada DAO; Aqui eu criei um mapa user.xml:
A parte vermelha deve receber atenção. O topo é o caminho para mapear a camada DAO e a segunda é o tipo de objeto de retorno. Vou postar o código aqui:
<! written, that is, write our sql statements for methods in dao interface--><select id="getAll" resultType="com.dajiu.bean.User"> select * from user</select><select id="getLogin" resultType="com.dajiu.bean.User"> select * from user where name = #{name} and password = #{senha} </leclect> </mapper>Mola: carregue principalmente o arquivo de configuração da mola
1.Spring-dao.xml
Código de postagem:
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http:/wwww.w3 xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/Context/spring-context.xsd "> <!-Configuration Mybatis Process 1. Configure DATATEASTETETETETETETETETETRETRETETTERETTERETTERETTERETTERETTERETTERETTERETTERETRETRESTETRETRESTETRESTETRESTETSD"> Local = "ClassPath: jdbc.properties"/> <!-2. Pool de conexão de banco de dados-> <bean id = "DataSource"> <!-Configurar Propriedades do pool de conexões-> <propriedade name = "driverclass" value = "$ {driver}" /> <!-Propriedades básicas URL, usuário, senha-> <nome da propriedade = "jdbcurl" = "$ {url}" /> name = "senha" value = "$ {senha}"/> <!-c3p0 Propriedade privada-> <propriedade name = "maxpoolsize" value = "30"/> <propriedade name = "minpoolsize" value = "10"/> <!-não se comprometeram automaticamente após o fechamento da conexão-> <nome da propriedade = "AutocommitonClose" " name = "checkoutTimeout" value = "10000"/> <!-Número de nova tentativa quando a conexão falha-> <propriedade name = "adquirretryettempts" value = "2"/> </bean> <!-Convenção é maior que a configuração-> <!-3.Configuration of sqlSession Object-Sets! e primavera-> <!-Injetar pool de conexão com o banco de dados-> <propriedade name = "DataSource" ref = "DataSource"/> <!-Configuração do arquivo de configuração global mybatis: mybatis-config.xml-> <nome da propriedade "configLocation" Value = "ClassPath: Mybatis-Config.xml" Separado-> <propriedade name = "typeAliasespackage" value = "com.dajiu.bean"/> <!-Digitalize o arquivo de configuração SQL: o arquivo xml exigido por mapper-> <names name = "mapperlocations" value = "classpath: mapper/*xml"/> </bEan> <!-4! It It Spring Container-> <Bean> <!-injete sqlSessionFactory-> <propriedade name = "sqlSessionFactoryBeanName" value = "sqlSessionFactory"/> <!-Dê à interface Dao a ser digitalizada-> <nome da propriedade = "BasEpackage" = "com.dajiu.dano"Lugares para prestar atenção:
Conecte -se ao banco de dados:
Configure a classe global de Mybatis-Config e Bean, todos os arquivos sob mapeador
Configure Dao
2.Spring-service.xml
Código de postagem:
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http:/wwww.w3 xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans O http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd "> <!-Scan todos os tipos de anotações no pacote de serviço-> <Context-sd-Scan Transaction Manager-> <Bean id = "transactionManager"> <!-Injete o pool de conexão com o banco de dados-> <propriedade name = "DataSource" ref = "DataSource"/> </i bean> <bean id = "date"> </ean> <!-Configurar transações declarativas baseadas em anotação-D para gerenciar o comportamento da transação por default->> transação-manager = "transactionManager"/> </ Beans>
Preste atenção à área local:
Configurar serviço
3.Spring-web.xml
Código de postagem:
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http:/wwww.w3 xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans O http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd "> <!-Configuration mvc-> <!-1, ativável springmc Registre automaticamente o DefaultAnnotationHandlerMapping, AnotationMethodHandlerAdapter b. Por padrão, é fornecida uma série de funções: ligação de dados, formato de números e datas@numberFormat,@DateTimeFormat C: XML, suporte padrão de leitura e gravação do JSON-> <MVC: anotação-driven/> <!-2. Configuração padrão do servlet dos recursos estáticos-> <!-1). Adicionado Processamento de Recursos estáticos: JS, GIF, PNG 2). Allow "/" to do overall mapping-> <mvc:default-servlet-handler/> <!--3: Configure JSP to display ViewResolver--> <bean> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/view/"/> <property name = "sufixo" valor = ". Localização = "/"/> <MVC: Recursos Mapping = "/**/*. CSS" Location = "/"/> <MVC: Recursos Mapping = "/**/*.
Preste atenção à área local:
Configure o controlador
5. Implementação lógica (tomando o usuário como exemplo)
① Primeira defina a classe de usuário no feijão
pacote com.dajiu.bean;/*** Criado por Zhangxing em 2017/4/7. */public classe usuário {private int id; nome de string privado; senha de sequência privada; public int getId () {return id; } public void setId (int id) {this.id = id; } public string getName () {return name; } public void setName (nome da string) {this.name = name; } public string getPassword () {return senha; } public void setPassword (string senha) {this.password = senha; }}② Em seguida, defina a interface Userdao no DAO
pacote com.dajiu.dao; importação com.dajiu.bean.user; importar org.apache.ibatis.annotações.param; importar org.springframework.stereotype.reposition; import java.util.list; */@RepositoryPublic Interface Userdao {list <suser> getall (); Usuário getLogin (@param ("name") Nome da sequência, @param ("senha") string senha);}Mapeamento da camada DAO em user.xml
③Ext para declarar a interface no serviço
pacote com.dajiu.service; importar com.dajiu.bean.user; importar java.util.list;/*** criado pelo Zhangxing em 2017/4/7. */interface pública UserService {list <suser> getall (); Usuário getLogin (nome da string, senha da string);}④ Em seguida, implemente a lógica da interface no serviço.impl
pacote com.dajiu.service.impl; import com.dajiu.bean.user; importar com.dajiu.dao.userdao; importar com.dajiu.service.userService; imported; java.util.list;/*** Criado por Zhangxing em 2017/4/7. */ @Service ("UserService") Classe pública UserServiceImpl implementa UserService {@AUTOWIRED UserDAO Userdao; list public <suser> getAll () {return userdao.getall (); } usuário público getLogin (nome da string, senha da string) {return userdao.getLogin (nome, senha); }}@Autowired aqui é equivalente a criar uma nova instância
⑤IMPLEMEMPLEMENTO ALIME
pacote com.dajiu.Controller; importar com.dajiu.bean.user; importar com.dajiu.service.userService; importar org.springframework.beans.factory.annotation.autowired; Import.springFramework.stereotyPeat.Controller; org.springframework.web.bind.annotation.requestmapping; importar org.springframework.web.bind.annotation.Responsebody; importar java.util.hashmap; import java.util.list; import java.util.map; */@Controlador@requestmapping ("/blog") classe pública UserController {@Autowired UserService UserService; @RequestMapping ("/getUser") @ResponseBody Public Map <String, Object> getUser () {map map = new hashmap (); List <suser> list = userservice.getall (); map.put ("user", list); map.put ("status", 1); map.put ("Sucesso", verdadeiro); mapa de retorno; } @ReQuestMapping ("getLogin") @ResponseBody Public Map <String, Object> getLogin (nome da string, string senha) {map map = new hashmap (); Usuário do usuário = Userservice.getLogin (nome, senha); map.put ("usuário", usuário); map.put ("islogin", true); map.put ("status", 1); mapa de retorno; }}Aqui @ReQuestMapping ("") representa o caminho de mapeamento acessado, @ResponseBody representa o resultado da solicitação impresso no formato de dados JSON e o @Controller representa que, desde que o caminho de mapeamento de raiz acima seja acessado, o controlador será chamado diretamente;
Agora, vamos ajudá-lo a entender suas idéias: Primeiro solicite UserController ---> UserService ----> UserServiceImpl ----> userdao ---> user.xml (mapper) ----> bean (usuário)
6. Configure o servidor Tomcat
"Clique com o botão do triângulo verde no canto superior direito e clique em Editar configuração
"Clique com o sinal + e selecione Tomcat
③ Selecione Local
④Lear na configuração relevante
⑤Clique de implantação, clique no sinal + e selecione Artefato
Em seguida, escolha o primeiro item e continue entrando
Dessa forma, todo o seu projeto será concluído e o próximo passo é visitar
Ok, hoje a explicação da Springmvc e Mybatis Building Java Backend acabou.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.