Spring框架学习-搭建第一个Spring项目
程序员文章站
2022-07-05 14:18:27
步骤一:下载Spring开发包。 官网:https://spring.io/ 下载地址:https://repo.spring.io/libs-release-local/org/springframework/spring/ spring-framework-3.0.2.RELEASE-depen ......
步骤一:下载spring开发包。
官网: 下载地址:
spring-framework-3.0.2.release-dependencies和spring-framework-4.2.4.release-dist 解压第二个,解压目录:
步骤二:搭建项目,引入spring项目
创建项目:由于spring是javase/ee一站式框架,所以既可以创建web项目或者java项目,这里创建web项目。
导入jar:spring框架搭建肯定需要核心包,上面core container里面四个就是核心,其他的,需要什么功能添加哪个jar,在libs里面找。还有spring已经弄好的日志记录包,在dependencies里面log4j和commons包下
步骤三:引入相关配置文件(在src下创建)
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' ### # error warn info debug trace log4j.rootlogger= info, stdout
applicationcontext.xml文件(spring的核心配置文件)
头部引入:在解压下来的spring-framework-4.2.4.release-dist\docs\spring-framework-reference\html\xsd-configuration.html里面就有配置文件头部schema约束
<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 配置,将实现类的对象创建交给spring管理 bean标签: id:给bean起个名字,唯一,不能重复,不能出现特殊字符,就看做根据面向接口编程new出来的实例 class:类的全路径,底层根据全路径生成实例 --> <bean id="userdao" class="cn.xxx.dao.impl.userdaoimpl"> <!-- 属性依赖注入,底层会自动封装,只要在dao实现类提供属性和set方法就行 --> <property name="name" value="张三"></property> </bean> </beans>
userdaoimpl.java(userdao接口的实现)
package cn.xxx.dao.impl; import cn.xxx.dao.userdao; /** *@param *@author cxh */ public class userdaoimpl implements userdao { private string name; public void setname(string name) { this.name = name; } @override public void insert() { system.out.println(name+"用户信息插入"); } }
测试类:
@test public void demo1() { // 通过加载配置文件创建spring工厂类(框架默认加载路径在src下,所以完全可以将配置文件放在一个目录下) applicationcontext applicationcontext = new classpathxmlapplicationcontext("/config/applicationcontext.xml"); // 通过工厂来解析xml获取bean的实例 userdao userdao = (userdao) applicationcontext.getbean("userdao"); userdao.insert(); }
运行结果:
log4j:warn no appenders could be found for logger (org.springframework.core.env.standardenvironment). log4j:warn please initialize the log4j system properly. 张三用户信息插入
上面就是基于spring的ioc的搭建。
ioc:控制反转,将对象的创建权交给spring
di:依赖注入,前提必须有ioc的环境,spring在管理这个类的时候顺便会注入类的依赖的属性。