Intellij导入Spring jar包
1、Setting->Project Structure ->Libraries ->+(Add)
2、选中Jar核心包
Spring XML配置
1、File -> new -> XML Config File -> Spring Config 创建XML文件
2、添加Bean信息
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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">
<bean class="dao.impl.UserDaoOracleImpl" name="userDaoOracle"></bean>
<bean class="dao.impl.UserDaoMysqlImpl" name="userDaoMysql"></bean>
<bean class="service.impl.UserService" name="userService">
<!-- <property name="dao" ref="userDaoOracle"></property>-->
<property name="dao" ref="userDaoMysql"></property>
</bean>
</beans>
一个bean 对应一个类
property name="类属性名" ref="指定实现的对象类"
程序实现
ApplicationContext ioc = new ClassPathXmlApplicationContext("springxml.xml");
IUserService bean = ioc.getBean(IUserService.class);
bean.getUser();
总结
将传统的 new 类名 实例化对象 交给 Spring Bean实现。 通过XML文件统一管理类 实现解耦 依赖倒置。
备注
1、通过xml property rel 实现相应类 要设置相应的get和set 方法。
2、报错信息: `报错信息: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.springframework.context.support.AbstractApplicationContext.(AbstractApplicationContext.java:163) at org.springframework.context.support.AbstractApplicationContext.(AbstractApplicationContext.java:237) at org.springframework.context.support.AbstractRefreshableApplicationContext.(AbstractRefreshableApplicationContext.java:92) at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.(AbstractRefreshableConfigApplicationContext.java:59) at org.springframework.context.support.AbstractXmlApplicationContext.(AbstractXmlApplicationContext.java:62) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:141) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:85) at test.MyTest.main(MyTest.java:14) Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory at java.net.URLClassLoader.findClass(URLClassLoader.java:387) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ... 8 more
Process finished with exit code 1`
需要加载 spring-jcl-5.2.6.BUILD-SNAPSHOT.jar 解决。