【Maven】实际构建SSM框架和用maven构建的详细区别

工具:IDEA


一个新电脑,打算配置个SSM框架。本来 打算自己下Jar包自己配,自力更生嘛!


0x01 --自己配环境

好,既然是Spring MVC+Spring+MyBatis .那么就从Sping开始配吧

打开Spring官网:https://spring.io/

嗯……最新的官网根本没有设下载地址……

九牛二虎百度后在spring的github里找到了。然后下载。下载下来

【Maven】实际构建SSM框架和用maven构建的详细区别_第1张图片

60个JAR包。。。百度了下,然后缩减下来 20个。

然后在IDEA导入

试试做个项目:


【Maven】实际构建SSM框架和用maven构建的详细区别_第2张图片


很简单的一个AOP实现。

Hello1 和hello2的就是各自输出一句话。AOP实现前后输出当前时间。

结果:


【Maven】实际构建SSM框架和用maven构建的详细区别_第3张图片

这里可以看到代码和错误。

没错,这个错误:

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.aop.config.internalAutoProxyCreator': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around

正是传说中的找不到JAR包。百度了下。是aspectjweaver-1.6.12.jar和aopxxx.jar 

加上后,报了新错

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

继续百度。又是缺少包:commons-logging-1.2.jar

好,继续百度,下载加上,才好

【Maven】实际构建SSM框架和用maven构建的详细区别_第4张图片



其中:

下载JAR,解决包的依赖。

百度说是spring 分解了他的JAR。如果实现AOP,将要下载新的JAR包

出现一大堆错误。一开始还以为是代码错。

修改代码,最后才发现是缺少jar包。

解决了很久很久。

然后现在只配好了Spring。


0x02 --Maven配环境

OK,我们来用maven。

IDEA,New Project

选择maven

选中Create from archetype 这里面都是一些模板

我们选webapp模板

  • maven-archetype-webapp

【Maven】实际构建SSM框架和用maven构建的详细区别_第5张图片


然后NEXT


【Maven】实际构建SSM框架和用maven构建的详细区别_第6张图片

填好,随便填就可以,然后next

然后选自己的目录位置 和项目名 然后直接 next

项目自己会下载一堆东西。下载完后。 点击File- Project Structure -Modules

在目录加上这些,补全到我现在这样:

在main文件夹下放个java文件夹,然后右键 Sources

在根目录新建test,然后新建个java 右键 test Sources 然后新建个resources 右键test Resources

【Maven】实际构建SSM框架和用maven构建的详细区别_第7张图片

直接OK退出,然后找到我们关键的:

【Maven】实际构建SSM框架和用maven构建的详细区别_第8张图片

pom.xml是 maven关键文件,里面增加会通知maven下载环境

在里面找到


删除,然后增加:


    
    4.0.2.RELEASE
    
    3.2.6
    
    1.7.7
    1.2.17
  
  
    
      junit
      junit
      4.11
      
      test
    
    
    
      org.springframework
      spring-core
      ${spring.version}
    

    
      org.springframework
      spring-web
      ${spring.version}
    
    
      org.springframework
      spring-oxm
      ${spring.version}
    
    
      org.springframework
      spring-tx
      ${spring.version}
    

    
      org.springframework
      spring-jdbc
      ${spring.version}
    

    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
      org.springframework
      spring-aop
      ${spring.version}
    

    
      org.springframework
      spring-context-support
      ${spring.version}
    

    
      org.springframework
      spring-test
      ${spring.version}
    
    
    
      org.mybatis
      mybatis
      ${mybatis.version}
    
    
    
      org.mybatis
      mybatis-spring
      1.2.2
    
    
    
      javax
      javaee-api
      7.0
    
    
    
      mysql
      mysql-connector-java
      5.1.30
    
    
    
      commons-dbcp
      commons-dbcp
      1.2.2
    
    
    
      jstl
      jstl
      1.2
    
    
    
    
      log4j
      log4j
      ${log4j.version}
    


    
    
      com.alibaba
      fastjson
      1.1.41
    


    
      org.slf4j
      slf4j-api
      ${slf4j.version}
    

    
      org.slf4j
      slf4j-log4j12
      ${slf4j.version}
    
    
    
    
      org.codehaus.jackson
      jackson-mapper-asl
      1.9.13
    
    
    
      commons-fileupload
      commons-fileupload
      1.3.1
    
    
      commons-io
      commons-io
      2.4
    
    
      commons-codec
      commons-codec
      1.9
    


    
      org.aspectj
      aspectjrt
      1.8.0
    
    
      org.aspectj
      aspectjweaver
      1.8.0
    
  

每行语句都写了作用了。

最后的补充包是Spring的AOP


然后IDEA自己就会疯狂下载啦

等一会儿,就好了。来测试吧!

直接COPY代码


【Maven】实际构建SSM框架和用maven构建的详细区别_第9张图片

记住bean.xml放在resources文件夹,然后在代码里以

        ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
        HelloWorld1 helloWorld1=ctx.getBean("Hello1",HelloWorld1.class);
        helloWorld1.doPrint();

        Logger logger  =  Logger.getLogger(UserAxeTest. class );
        logger.info( " debug " );
形式加载

而log4j,则根本不用写加载项了,maven给你自己配好了


直接完美执行::

【Maven】实际构建SSM框架和用maven构建的详细区别_第10张图片



OK 区别体现出来了吧,直接一趟操作,完美解决。

你可能感兴趣的:(架构构建)