这次做了一个DI的Demo,继续出来分享
第一步还是先建项目,maven项目,不选择简易创建,一路next下来
消除红色的感叹号
右键项目->build path -> Add Library -> Server Runtime -> 选择你的服务器 -> finish
解决找不到 src/main/java & src/test/java
右键项目->build path -> Configure Build Path -> Source-> 你会看到这两个目录,只不过显示的是missing 全删掉 再创建即可 -> Apply and Close
创建之后的目录
第二步配置pom.xml
在dependencies标签中 加入如下代码段,用于导入spring需要的jar包
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.19.RELEASE</version>
</dependency>
第三步 创建Dao层与Service层 并且建出接口与类
建好之后的项目框架如下图所示
BookDao,java
package Dao;
public interface UserDao {
public void addUser();
}
BookDaoImpl.java
package Dao;
public class UserDaoImpl implements UserDao {
public void addUser() {
System.out.println("hello DI");
}
}
UserService.java
package Service;
public interface UserService {
public void addUser();
}
UserServiceImpl.java
package Service;
import Dao.UserDaoImpl;
public class UserServiceImpl implements UserService {
private UserDaoImpl userDaoImpl;
public void setUserDaoImpl(UserDaoImpl userDaoImpl) {
this.userDaoImpl = userDaoImpl;
}
public void addUser() {
this.userDaoImpl.addUser();
}
}
第四步 创建applicationContext.xml
路径在 src/main/resources
其中代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd "
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<bean id="UserServiceImplId" class="Service.UserServiceImpl">
<!-- 里面的name属性 是你set后面的属性名 也就是你private出来的东西
ref属性 是你的要用到的bean的id
-->
<property name="userDaoImpl" ref="UserDaoImplId"></property>
</bean>
<bean id="UserDaoImplId" class="Dao.UserDaoImpl"></bean>
</beans>
第五步 创建测试类
Test_Deni.java
package maven_spring_DI_Test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import Service.UserService;
public class Test_Demo {
@Test
public void test() {
String xmlPath = "applicationContext.xml";
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
UserService userService = applicationContext.getBean("UserServiceImplId",UserService.class);
userService.addUser();
}
}