工具:IDEA
一个新电脑,打算配置个SSM框架。本来 打算自己下Jar包自己配,自力更生嘛!
0x01 --自己配环境
好,既然是Spring MVC+Spring+MyBatis .那么就从Sping开始配吧
打开Spring官网:https://spring.io/
嗯……最新的官网根本没有设下载地址……
九牛二虎百度后在spring的github里找到了。然后下载。下载下来
60个JAR包。。。百度了下,然后缩减下来 20个。
然后在IDEA导入
试试做个项目:
很简单的一个AOP实现。
Hello1 和hello2的就是各自输出一句话。AOP实现前后输出当前时间。
结果:
这里可以看到代码和错误。
没错,这个错误:
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
好,继续百度,下载加上,才好
其中:
下载JAR,解决包的依赖。
百度说是spring 分解了他的JAR。如果实现AOP,将要下载新的JAR包
出现一大堆错误。一开始还以为是代码错。
修改代码,最后才发现是缺少jar包。
解决了很久很久。
然后现在只配好了Spring。
0x02 --Maven配环境
OK,我们来用maven。
IDEA,New Project
选择maven
选中Create from archetype 这里面都是一些模板
我们选webapp模板
然后NEXT
填好,随便填就可以,然后next
然后选自己的目录位置 和项目名 然后直接 next
项目自己会下载一堆东西。下载完后。 点击File- Project Structure -Modules
在目录加上这些,补全到我现在这样:
在main文件夹下放个java文件夹,然后右键 Sources
在根目录新建test,然后新建个java 右键 test Sources 然后新建个resources 右键test Resources
直接OK退出,然后找到我们关键的:
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代码
记住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给你自己配好了
直接完美执行::
OK 区别体现出来了吧,直接一趟操作,完美解决。