使用maven搭建SSM环境

maven搭建SSM

文章目录

  • maven搭建SSM
    • 准备
    • 步骤
    • 参考链接

准备

  • eclipse

Eclipse Java EE IDE for Web Developers. Version: Photon Release (4.8.0)

官网

参考这里

  • maven

Apache Maven 3.3.9

maven下载地址

eclipse里自带了maven,但是建议使用外部的maven,然后设置maven远程仓库地址为阿里云的(速度快)

  • 配置外部maven
    使用maven搭建SSM环境_第1张图片

window -> preferences -> Maven -> Installation

点击 Add,在"new Maven Runtime"里,点击Directory选择maven安装目录,然后点击Finish,添加成功!

勾选刚刚添加的 apache-maven,然后点击Apply,应用

去maven的安装目录

...\apache-maven..xxx\conf\setting.xml中,修改settings.xml,将mirrors替换为以下内容

<mirrors>
     
        <mirror>
            <id>alimavenid>
            <name>aliyun mavenname>
            <url>http://maven.aliyun.com/nexus/content/groups/public/url>
            <mirrorOf>centralmirrorOf>
        mirror>
        <mirror>
            <id>centralid>
            <name>Maven Repository Switchboardname>
            <url>http://repo1.maven.org/maven2/url>
            <mirrorOf>centralmirrorOf>
        mirror>
        <mirror>
            <id>repo2id>
            <mirrorOf>centralmirrorOf>
            <name>Human Readable Name for this Mirror.name>
            <url>http://repo2.maven.org/maven2/url>
        mirror>
        <mirror>
            <id>ibiblioid>
            <mirrorOf>centralmirrorOf>
            <name>Human Readable Name for this Mirror.name>
            <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/url>
        mirror>
        <mirror>
            <id>jboss-public-repository-groupid>
            <mirrorOf>centralmirrorOf>
            <name>JBoss Public Repository Groupname>
            <url>http://repository.jboss.org/nexus/content/groups/publicurl>
        mirror>
        
        <mirror>
            <id>maven.net.cnid>
            <name>oneof the central mirrors in chinaname>
            <url>http://maven.net.cn/content/groups/public/url>
            <mirrorOf>centralmirrorOf>
        mirror>

    mirrors>

然后选择 User Settings ->Browse,将maven安装目录下的/config/setting.xml选中,点击Apply应用。

使用maven搭建SSM环境_第2张图片

步骤

  • 新建maven项目

    new -> other搜索maven,选则maven Project
    使用maven搭建SSM环境_第3张图片

点击next
使用maven搭建SSM环境_第4张图片

点击 next

使用maven搭建SSM环境_第5张图片

在Filter中搜索web,然后选中org.apache.maven.archetypes maven-archetype-webapp,点击next

使用maven搭建SSM环境_第6张图片

填写好Group Id,和 Artifact Id,点击Finish

Group id: 组织id,域名倒写;
Artifact id:项目、模块id;
Version: 版本;
Packaging: 该元素决定了项目的打包方式,有3种,jar,war,pom(比如是一个父模块);
Maven为jar项目调用了maven-jar-plugin,为war项目调用了maven-war-plugin,换言之,packaging直接影响Maven的构建生命周期

生成的项目如下

使用maven搭建SSM环境_第7张图片

初次创建可能会比较慢,多等待一会即可。

  • 补全 Source Folder:
    src/main/resources
    src/main/java
    src/test/resources
    src/test/java

项目上右键-> new ->Source Folder

使用maven搭建SSM环境_第8张图片

  • 在项目上右键 选择 properties ->java Build Path,选择JRE System Library -> Eidt,更换jre为workspace defautlt jre

使用maven搭建SSM环境_第9张图片

  • 在项目上右键 选择 properties ->Deployment Assembly,去掉这两项部署(不需要)

使用maven搭建SSM环境_第10张图片

最终,如果没有的需要手动填上

使用maven搭建SSM环境_第11张图片

maven项目报错

使用maven搭建SSM环境_第12张图片

没有找到javax.servlet.http.HttpServlet 的jar包

我们一会在pom.xml中加入即可

  • 修改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/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      <modelVersion>4.0.0modelVersion>
      <groupId>com.oraclegroupId>
      <artifactId>ssm-mavenartifactId>
      <packaging>warpackaging>
      <version>0.0.1-SNAPSHOTversion>
      <name>ssm-maven Maven Webappname>
      <url>http://maven.apache.orgurl>
      <properties>
            
            <spring.version>4.3.8.RELEASEspring.version>
        properties>
        <dependencies>
            
            <dependency>
                <groupId>javax.servletgroupId>
                <artifactId>javax.servlet-apiartifactId>
                <version>3.1.0version>
                <scope>providedscope>
            dependency>
            
            <dependency>
                <groupId>javax.servlet.jspgroupId>
                <artifactId>javax.servlet.jsp-apiartifactId>
                <version>2.3.1version>
                <scope>providedscope>
            dependency>
    
            
            <dependency>
                <groupId>javax.servletgroupId>
                <artifactId>jstlartifactId>
                <version>1.2version>
            dependency>
    
            
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-coreartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-aopartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-webartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-webmvcartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-jdbcartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-txartifactId>
                <version>${spring.version}version>
            dependency>
    
            
            <dependency>
                <groupId>org.aspectjgroupId>
                <artifactId>aspectjrtartifactId>
                <version>1.8.0version>
            dependency>
            <dependency>
                <groupId>org.aspectjgroupId>
                <artifactId>aspectjweaverartifactId>
                <version>1.8.0version>
            dependency>
    
            
            <dependency>
                <groupId>org.mybatisgroupId>
                <artifactId>mybatisartifactId>
                <version>3.3.0version>
            dependency>
            
            <dependency>
                <groupId>mysqlgroupId>
                <artifactId>mysql-connector-javaartifactId>
                <version>5.1.26version>
            dependency>
            
            <dependency>
                <groupId>com.alibabagroupId>
                <artifactId>druidartifactId>
                <version>1.0.20version>
            dependency>
    
            
            <dependency>
                <groupId>org.mybatisgroupId>
                <artifactId>mybatis-springartifactId>
                <version>1.2.3version>
            dependency>
    
            
            <dependency>
                <groupId>log4jgroupId>
                <artifactId>log4jartifactId>
                <version>1.2.17version>
            dependency>
            <dependency>
                <groupId>org.slf4jgroupId>
                <artifactId>slf4j-apiartifactId>
                <version>1.7.21version>
            dependency>
    
            
            <dependency>
                <groupId>junitgroupId>
                <artifactId>junitartifactId>
                <version>3.8.1version>
                <scope>testscope>
            dependency>
            <dependency>
            	<groupId>commons-dbcpgroupId>
            	<artifactId>commons-dbcpartifactId>
            	<version>1.2.2version>
            dependency>
            <dependency>
            	<groupId>commons-poolgroupId>
            	<artifactId>commons-poolartifactId>
            	<version>1.3version>
            dependency>
        dependencies>
      <build>
        <finalName>ssm-mavenfinalName>
      build>
    project>
    
    
  • 建立如下包结构

使用maven搭建SSM环境_第13张图片

配置文件放入 src/main/resources

分别是

  1. jdbc.properties
  2. log4j.properties
  3. spring-application.xml
  4. spring-datasource.xml
  5. spring-mvc.xml
#jdbc.properties
jdbc_driver=com.mysql.jdbc.Driver
jdbc_url=jdbc:mysql://localhost:3306/mavenTest?useUnicode=true&characterEncoding=UTF-8
jdbc_user=root
jdbc_password=123456


#log4j.properties
#OFF FATAL ERROR WARN INFO DEBUG ALL
log4j.rootLogger=DEBUG,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%p]%-d{yyyy-MM-dd HH\:mm\:ss}[%c\:%L] %m%n


<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:mybatis="http://mybatis.org/schema/mybatis-spring"
    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
        http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd">
    
    
    <context:component-scan base-package="com.oracle.model.service"/>

beans>



<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/context"
	xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 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.xsd
	http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
	http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd
	">
	
	
	<context:property-placeholder location="classpath:jdbc.properties" />
	
     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="${jdbc_driver}"/>
		<property name="url" value="${jdbc_url}"/>
		<property name="username" value="${jdbc_user}"/>
		<property name="password" value="${jdbc_password}"/>
	bean>
	
	
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" >
		<property name="dataSource" ref="dataSource" >property>
		
		<property name="mapperLocations" value="classpath:com/oracle/entity/*Mapper.xml" />  
	bean>
	
	
	
	<mybatis:scan base-package="com.oracle.model.dao" />

beans>







<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/context" 
	xmlns:mvc="http://www.springframework.org/schema/mvc" 
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd 
	http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
     
     
     <mvc:annotation-driven/>
     
     
      <context:component-scan base-package="com.oracle.controller"/>
     

	
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/pages/" p:suffix=".jsp"/>
     
	 
beans>
  • 在web.xml中配置springmvc(src/main/webapp/WEB-INF/下,在工程里Deploy Resources也映射了)

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	id="WebApp_ID" version="3.1">
	<display-name>sxnd-ssmdisplay-name>
	<welcome-file-list>
		<welcome-file>index.jspwelcome-file>
	welcome-file-list>
	
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
	listener>
    
    
	<context-param>
		<param-name>contextConfigLocationparam-name>
		<param-value>classpath:spring-application.xml,classpath:spring-datasource.xmlparam-value>
	context-param>
    
    
	<servlet>
		<servlet-name>springMvcservlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
		<init-param>
			<param-name>contextConfigLocationparam-name>
			<param-value>classpath:spring-mvc.xmlparam-value>
		init-param>
	servlet>
	<servlet-mapping>
		<servlet-name>springMvcservlet-name>
		<url-pattern>/url-pattern> 
	servlet-mapping>

web-app>

到这里,ssm环境便搭建完毕

下面测试进行简单测试

在com.oracle.controller下建立HelloWorldController,并且注解@Controller,@RequestMapping(“hello”)

写一个方法注解@RequestMapping(“world”),方法内返回一个视图

package com.oracle.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("hello")
public class HelloWorldController {

	
	@RequestMapping("world")
	public ModelAndView helloworld() {
		
		ModelAndView view = new ModelAndView("HelloWorld");
		return view;
	}
}

我们访问 xxxx/hello/world,就会返回一个HelloWorld视图,在spring-mvc中配置了视图的前缀为"/pages/",后缀为".jsp",所以实际路径是 从网站根目录开始 /pages/HelloWorld.jsp ,我们在HelloWorld中输出一个 你好。

此次的过程为 : 视图发起请求 -》到控制器 -》 控制器返回一个视图

  • 运行项目

    访问 http://localhost:8080/ssm-maven/hello/world

使用maven搭建SSM环境_第14张图片

参考链接

https://blog.csdn.net/kingyxfly/article/details/78942439

https://www.jianshu.com/p/f3c582edca2b

https://blog.csdn.net/qq_39530754/article/details/82561985

https://blog.51cto.com/85608547/2161548

https://blog.csdn.net/Romantic_321/article/details/80752331

https://blog.csdn.net/u010134382/article/details/84745304

你可能感兴趣的:(框架)