• 【spring maven】maven整合spring创建第一个spring程序


    概述:

    1、Spring框架

    Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
    ◆目的:解决企业应用开发的复杂性
    ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
    ◆范围:任何Java应用

    2、Spring 核心

    IOC(Inversion of Controller)-面向对象的一个准则,对象的控制(创建和管理)由容器或者框架来实现,而不是开发者直接调用,开发者只需要实现接口或者放入自己的类就可以
    依赖注入(Dependency Injection
    DI)每个方法都有一个独立的对象,通过接口去调用其他的对象,这些对象服务创建的时候才实现,是一种逆向的对象创建方式,Spring
    中通过Constructor 或setter实现,实现了DI的库叫做容器 面向切面编程(Aspect oriented
    programing,AOP)一种编程范式,允许横跨应用功能的切面,用于表示同时用在多个函数上的功能。事务,日志,权限等

    壹:新建maven项目

    前提:maven的安装与配置:传送门
    一、创建maven项目
    新建maven项目
    二、maven设置依赖自动导入
    在这里插入图片描述

    贰:整合spring

    整合spring有两种方法:

    一:依赖注入

    第一步:在pom文件中加入

            <!--spring相关包-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>4.3.1.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>4.3.1.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>
    

    第二步:新建spring配置文件

    二:jar导入

    第一步:

    第二步:如果自己有就是用自己目录下,没有就选择download,他就会自动下载。

    第二步:新建spring配置文件

    叁:创建第一个程序

    一:代码:

    第一步:新建helloword(程序员第一个程序,哈哈哈)

    /**
     * User: lomtom
     * Date: 2020/3/2
     * Time: 12:25
     */
    
    //HelloWorld实体
    public class HelloWorld {
        private String userName;
    
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
    //    show方法
        public void show(){
            System.out.println(userName+":欢迎学习spring框架");
        }
    }
    
    

    第二步:对象注入,修改spring配置文件,加入以下代码

    1、第一种
        <!--    配置实体-->
        <bean id="helloWorld" class="HelloWorld">
            <!--        属性赋值注入-->
            <property name="userName" value="lomtom"/>
        </bean>
    2、第二种
    <!--    开启注解-->
        <context:annotation-config/>
        <bean id="helloWorld" class="com.lomtom.model.HelloWorld"/>
    3、第三种
        <context:annotation-config/>
        <context:component-scan base-package="com.lomtom.model"/>
    

    注:第二种和第三种是使用注解的方式,实体类应该加入注解

    @Component
    public class HelloWorld {
        @Value("lomtom")
        private String userName;
    
    
        //    show方法
        public void show(){
            System.out.println(userName+":欢迎学习spring框架");
        }
    }
    

    第三步:测试,可以写main函数测试,我这里用test测试,用test测试需要加入junit依赖。

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>
    

    写测试,函数需要@Test注解,这样spring才能识别。

    
    //测试类
    public class test {
    
    //    测试函数
        @Test
        public void Test(){
    //        加载配置文件
            ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
    //        获取实例
            HelloWord helloWord = (HelloWord) context.getBean("helloWorld");
    //        调用方法
            helloWord.show();
        }
    }
    

    二:结果:

    三:问题

    问题:运行报错:class path resource [spring-config.xml] cannot be opened because it does not
    解决:因为我使用的是maven,这就关系到maven的打包方式,maven会将resources目录下的进行打包到WEB-INF目录下,所以这个spring-config.xml文件需要放在resources目录下,问题解决。


    作者

    1、作者个人网站
    2、作者CSDN
    3、作者博客园
    4、作者简书

  • 相关阅读:
    centos 6 升级gcc
    linux fdisk 分区
    centos使用163的源
    工作流发布成功但不能自动启动
    可怕的断电
    FTP 之 550 permission denied
    Track & Trace
    AutoKey思想的應用(二)
    Windows登錄過程淺析
    snapshot.exe出現異常
  • 原文地址:https://www.cnblogs.com/lomtom/p/12402197.html
Copyright © 2020-2023  润新知