欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring框架学习-搭建第一个Spring项目

程序员文章站 2022-03-20 19:21:40
步骤一:下载Spring开发包。 官网:https://spring.io/ 下载地址:https://repo.spring.io/libs-release-local/org/springframework/spring/ spring-framework-3.0.2.RELEASE-depen ......

步骤一:下载spring开发包。

   官网:           下载地址:

    spring-framework-3.0.2.release-dependencies和spring-framework-4.2.4.release-dist 解压第二个,解压目录:

    Spring框架学习-搭建第一个Spring项目

步骤二:搭建项目,引入spring项目

  Spring框架学习-搭建第一个Spring项目

创建项目:由于spring是javase/ee一站式框架,所以既可以创建web项目或者java项目,这里创建web项目。

导入jar:spring框架搭建肯定需要核心包,上面core container里面四个就是核心,其他的,需要什么功能添加哪个jar,在libs里面找。还有spring已经弄好的日志记录包,在dependencies里面log4j和commons包下

Spring框架学习-搭建第一个Spring项目

步骤三:引入相关配置文件(在src下创建)

log4j.properties

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.consoleappender
log4j.appender.stdout.target=system.err
log4j.appender.stdout.layout=org.apache.log4j.patternlayout
log4j.appender.stdout.layout.conversionpattern=%d{absolute} %5p %c{1}:%l - %m%n

### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.fileappender
log4j.appender.file.file=c\:mylog.log
log4j.appender.file.layout=org.apache.log4j.patternlayout
log4j.appender.file.layout.conversionpattern=%d{absolute} %5p %c{1}:%l - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###
# error warn info debug trace
log4j.rootlogger= info, stdout

applicationcontext.xml文件(spring的核心配置文件)

  头部引入:在解压下来的spring-framework-4.2.4.release-dist\docs\spring-framework-reference\html\xsd-configuration.html里面就有配置文件头部schema约束

<?xml version="1.0" encoding="utf-8"?>
<beans 
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:p="http://www.springframework.org/schema/p"
    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">
     
    <!-- 配置,将实现类的对象创建交给spring管理
        bean标签:
            id:给bean起个名字,唯一,不能重复,不能出现特殊字符,就看做根据面向接口编程new出来的实例
            class:类的全路径,底层根据全路径生成实例
     -->
    <bean id="userdao" class="cn.xxx.dao.impl.userdaoimpl">
    <!-- 属性依赖注入,底层会自动封装,只要在dao实现类提供属性和set方法就行 -->
        <property name="name" value="张三"></property>
    </bean>
</beans>

userdaoimpl.java(userdao接口的实现)

package cn.xxx.dao.impl;

import cn.xxx.dao.userdao;

/**
*@param
*@author cxh
*/
public class userdaoimpl implements userdao {
    private string name;

    public void setname(string name) {
        this.name = name;
    }

    @override
    public void insert() {
        
        system.out.println(name+"用户信息插入");
    }
    
}

 

测试类:

  

    @test
    public void demo1() {
//        通过加载配置文件创建spring工厂类(框架默认加载路径在src下,所以完全可以将配置文件放在一个目录下)
        applicationcontext applicationcontext = new classpathxmlapplicationcontext("/config/applicationcontext.xml");
//        通过工厂来解析xml获取bean的实例
        userdao userdao = (userdao) applicationcontext.getbean("userdao");
        userdao.insert();
    }

运行结果:

log4j:warn no appenders could be found for logger (org.springframework.core.env.standardenvironment).
log4j:warn please initialize the log4j system properly.
张三用户信息插入

 

上面就是基于spring的ioc的搭建。

  ioc:控制反转,将对象的创建权交给spring

  di:依赖注入,前提必须有ioc的环境,spring在管理这个类的时候顺便会注入类的依赖的属性。