idea使用maven配置Spring实现简单hello world项目

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38409944/article/details/82560875

创造maven项目:别人写的更详细

https://blog.csdn.net/qq_27093465/article/details/63683873

其次完善项目结构:
src下的main目录创建两个子文件夹

java:存放源码。
resource:存放配置文件。

重点:
将java文件夹设置为源文件夹:
右击Make Directory as 选择Source Root

将resource文件夹设置为资源文件夹:
右击Make Directory as 选择Resources Root

问题:
Test Source Root和Tes Resources Root是什么?

Test是针对测试文件而言的。
Tes Resources Root是测试文件加载的时候调用的,  
如果其中没有需要的配置文件就会去Resources Root加载。

mavan导入基础Spring:
<dependencies>标签下添加如下标签

<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.0.8.RELEASE</version>
    </dependency>

java文件下创建一个实体类:

package hello;

public class Hello {
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    String name;

    public void print() {
        System.out.print("欢迎:"+name);
    }
}

配置Spring信息:
右击resource文件夹 new 选择 XML Configuration File选择Spring config 命名为:applicationContext.xml

<?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="hello" class="hello.Hello">
    <property name="name" value="Spring"></property>
</bean>
</beans>

这里是属性注入,通过·setter·方法注入Bean的属性值或者依赖的对象,属性注入使用<property>元素,使用name属性指定Bean的属性名称,value属性指定属性值。

属性注入是实际应用中最常用的注入方式。

这里需要拷贝实体类路径:
复制类路径:右击选择复制的类copy reference 需要完整路径的地方右击Paste Simple即可。

注意:
class是bean的全类名,是通过反射得方式在IOC容器中创建Bean

Class class = Class.forName(className);
Object object = class.newInstance(); // 只能调用无参构造函数

所以 要求Bean中必须有无参的构造函数。
如果没有参数,默认是无参构造函数

创建main函数:

public class Main {
    public static void main(String[] args) {
    //ApplicationContext代表IOC容器
    //ClassPathXmlApplicationContext是ApplicationContext接口的实现类,该实现类从类路径下来加载配置文件
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        //利用id定位到IOC容器中的Bean
        applicationContext.getBean("hello");
        hello.print();
    }
}

输出:

欢迎:Spring

ApplicationContext 是Spring IOC容器,在读取Bean配置创建Bean之前,必须先实例化,才可以从IOC容器中获取Bean实例。

完整项目路径截图:
这里写图片描述
题外话:

ctrl+alt+l:格式化代码。(会与qq热键冲突,关掉qq)
ctrl+alt+t:try catch

猜你喜欢

转载自blog.csdn.net/qq_38409944/article/details/82560875