个人随笔
Spring源码分析:建立源码分析测试项目(二)
2020-09-24 18:52:06

在上一篇文章中,我费了九牛二虎之力,终于把源码编译好并且导入了eclipse,接下来就准备大刀阔斧的进行源码分析啦,首先得建立一个测试项目。

1、导入源码

这一步其实上面一篇文章已经完成啦,不过这里还是要说明下,导入的时候选的是Existing Projects into Workspace,然后注意
选择的是spring的根文件夹,当然你也可以选择具体项目,但是这样子可能要考虑后面项目之间的依赖问题,当如后如下:

记得注意JDK版本问题和groovy插件问题,具体可以参考我的上一篇文章:https://www.suibibk.com/topic/758756909506363392

2、新建测试项目

我这里建立的测试项目是一个maven项目,当然你也可以建立一个最最最简单的Java Project,结构如下

奇怪为什么会报错呢?难道这理还不能直接用Spring的类,是的,我们需要引入依赖,那引入哪个最好呢,这里建议spring-context,原因如下图

spring-context该有的都有了,所以我们引入这个就可以了,引入后果然不报错了。

3、测试

我们这里因为是研究Spring的源码,所以先从xml配置文件的方式开始,目录结构如上,具体代码如下:

App.java

  1. public class App {
  2. @SuppressWarnings("resource")
  3. public static void main(String[] args) {
  4. //获取上下文对象ApplicationContext
  5. ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
  6. //获取实例,配置文件
  7. User user = (User)context.getBean("user");
  8. user.setUsername("suibibk.com");
  9. user.setAge(18);
  10. System.out.println(user);
  11. }
  12. }

User.java

  1. public class User {
  2. private String username;
  3. private int age;
  4. public String getUsername() {
  5. return username;
  6. }
  7. public void setUsername(String username) {
  8. this.username = username;
  9. }
  10. public int getAge() {
  11. return age;
  12. }
  13. public void setAge(int age) {
  14. this.age = age;
  15. }
  16. @Override
  17. public String toString() {
  18. return "User [username=" + username + ", age=" + age + "]";
  19. }
  20. }

applicationContext.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context.xsd">
  9. <!--编写对应的配置信息-->
  10. <bean class="com.suibibk.spring.User" id="user"></bean>
  11. <!-- 开启注解
  12. <context:component-scan base-package="com.suibibk.spring"/>
  13. -->
  14. </beans>

这里也先不开启注解先。

执行代码,输出如下结果:

  1. User [username=suibibk.com, age=18]

完成!

 27

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2