鼓捣了一个早上的大部分时间,终于算是弄好了(该文章纯记录用的)
参考以下博客:https://blog.csdn.net/qq_45738810/article/details/107842532
和https://blog.csdn.net/weixin_38997311/article/details/79698651
首先需要知道的是:
1.不需要按照网上一些其他教程自己复制必要的jar文件(也可能是因为我技术不行,自己复制进去会出现一些问题,比如XML文件没有Spring
Config选项,重启之后也不行)
2.直接创建对应的web和spring就行(因为是2020版本的,所以创建方法和之前的不太一样,之后会说明)
首先是创建对应的spring和web(我都觉得在入门的程序里,web都不需要)
创建方法和以前的不太一样,因为2020的:
所以这边就是先创建好Java项目之后,右键项目点击 “add framework Support”,直接找到 spring就行了(也不需要点spring下面那些 比如spring MVC的东西)
创建完成之后,就会发现这些需要的jar都在的,并且对应的xml上的Spring Config也在的
然后就是开始创建Java文件:
1.先在 src处,右键 新建一个包
再创建一个com.itheima.ioc的包,并在包中创建接口UserDao,在接口中定义一个Say方法
package com.itheima.ioc;
public interface UserDao {
public void say();
}
之后在同个包下创建类UserDaoImpl,对UserDao进行实现
package com.itheima.ioc;
public class UserDaoImpl implements UserDao{
@Override
public void say() {
System.out.println("UserDao say");
}
}
在src目录下创建applicationContext.xml(名称可以自定义),并在文件中创建一个id为userDao的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 id="UserDao" class="com.itheima.ioc.UserDaoImpl"/>
</beans>
(其实就写倒数第二句就行了,其他都是自动生成的)
最后再相同包下面,写一个测试的类TestIoc
package com.itheima.ioc;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestIoc {
public static void main(String[] args) {
//初始化spring容器,加载配置文件
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//通过容器获取userDao实例
UserDao userDao = (UserDao) applicationContext.getBean("UserDao");
//调用say方法
userDao.say();
}
}
(这里要注意,我之前参考的文章 getBean后面是userDao是错误的,需要改成UserDao)
再调用这个类就行了