spring快速入手

官网:Spring | Home

推荐开发工具:Spring Tools,下载地址:https://spring.io/tools

开发IDE可选:经典的Ecplise(免费)、IDEA(收费)、VSCODE(免费)、MyEcplise(收费)

spring的第一个项目

建议大家使用maven管理所需的jar包,maven库推荐网站:https://www.mvnrepository.com/  

打开ecplise,创建一个新的maven项目,编辑pom.xml,引入commons.logging.jar、spring-beans.jar、spring-context.jar、spring.core.jar、spring-expression.jar

    <dependencies>
        <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.3.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>6.1.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>6.1.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>6.1.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>6.1.1</version>
        </dependency>
    </dependencies>

2.在项目的顶层包下创建dao包,在dao包中创建接口TestDao和接口实现TestDaoImpl

public interface TestDao {
    public void sayHello();
}

public class TestDaoImpl implements TestDao {

    public void sayHello() {
        // TODO Auto-generated method stub
        System.out.println("andasfjaksdflasdf");
    }

}

3.在项目的顶层包中创建Starter类

public class Starter {
    
    public static void main(String[] args) {
        ApplicationContext context= new ClassPathXmlApplicationContext("application.xml");
        
        TestDao dao= (TestDao)context.getBean("test");
        dao.sayHello();
    }
}
4.在项目的src/main/java文件夹下创建application.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="test" class="demo1.dao.TestDaoImpl"></bean>

</beans>

运行Starter类,将在控制台输出TestDaoImpl.sayHello打印的内容

代码解说:ClassPathXmlApplicationContext加载application.xml,通过bean标签的id创建类的实例,这里spring通过java的反射机制创建了TestDaoImpl的实例,利用接口对类的实例进行访问,实现了控制反转。控制反转指的是不是高层依赖低层,而是低层依赖高层,在程序代码中,父类、调用者属于高层,子类、被调用者属于低层,当类实现接口时,类的方法签名受制于接口方法定义,此时出现了控制反转

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值