菜鸟说,可能有错。我个人的认识
1.Spring-framework的核心包和依赖包。
spring-framework-3.2.0.RELEASE-dist(核心包压缩文件)
spring-framework-3.0.2.RELEASE-dependencies(依赖包压缩文件)—–网上随便搜索就有。
2.Spring有四个核心包分别是:
在spring-framework-3.2.0.RELEASE-dist/libs下面可以找到下面的四个核心包。
spring-beans-3.2.0.RELEASE.jar
spring-context-3.2.0.RELEASE.jar
spring-core-3.2.0.RELEASE.jar
spring-expression-3.2.0.RELEASE.jar
还需要导入
commons-logging-1.1.1.jar
集成log4j 导入log4j jar包 (需要log4j的配置文件)
log4j 的配置文件名称:log4j.properties
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c\:mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=off, stdout
Spring底层IOC原理:
一般情况下我们的调用:
web–业务层—-持久层
UserService userService = new UserService();
或者面向接口编程
UserService userService = new UserServiceImpl();
或者我们使用工厂模式进行解耦;
UserDaoFactory();——工程模式,通过工厂模式获取UserServiceImpl.
UserService 不在依赖自身的代码获取UserServiceImpl,而是通过工厂模式获取,将UserService 和UserServiceImpl转换成UserService 和工厂模式的耦合。显然这种模式也不是最佳的(产生大量工厂模式),所以Spring提供了更好的模式IOC,IOC底层是通过工厂模式+反射+配置文件的形式更好的解耦,