zoukankan      html  css  js  c++  java
  • Spring入门

    一、Spring介绍

    官网:https://spring.io/

    作用:项目管理(Object, Controller, Service, DAO)

    设计模式:工厂模式

    二、Spring工程搭建

    1.创建demo项目:

    mvn archetype:generate

    2.添加依赖:

    <dependencies>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>5.2.7.RELEASE</version>
      </dependency>
    </dependencies>

    包括beans, core, context, expression等

    3.创建接口demo.dao.UserDAO.java:

    package demo.dao;
    
    public interface UserDAO {
        public void insertUser();
    }

    4.创建实现类demo.dao.UserDAOImpl.java:

    package demo.dao;
    
    public class UserDAOImpl implements UserDAO {
        public void insertUser() {
            System.out.println("insert user...");
        }
    }

    5.添加资源文件resources/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="userDAO" class="demo.dao.UserDAOImpl"></bean>
    </beans>

    6.编写main方法:

    package demo;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import org.springframework.context.ConfigurableApplicationContext;
    
    import demo.dao.UserDAO;
    
    public class App 
    {
        public static void main( String[] args )
        {
            ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
            UserDAO userDAO = context.getBean("userDAO", UserDAO.class);
            userDAO.insertUser();
            ((ConfigurableApplicationContext)context).close();
        }
    }

    基本的demo就完成了。

    可能有人会觉得奇怪,“你做了这么多工作,其结果不就是new了一个UserDAO对象嘛”,在这里,spring这么做是为了解决项目中的强耦合问题。

    例如,增加一个UserDAOImpl2的实现,对应的bean的创建完全由spring来完成,其他对UserDAO引用的类无需做任何修改,这就是设计模式中的开闭原则:“对扩展开放,对修改关闭”。

    补充:解决The compiler compliance specified is 1.5 but a JRE 1.8 is used警告问题,在pom.xml中添加:

    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.1</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
          </configuration>
        </plugin>
      </plugins>
    </build>
  • 相关阅读:
    最新版 VS2015|Visual Studio Enterprise 2015简体中文版(企业版)
    MY97 日期控件只输入今天之前的值
    VARIANT类型
    C++ Struct
    MFC网络编程
    套接字编程(VC_Win32)
    套接字相关函数
    网络编程
    char str[] 与 char *str的区别详细解析
    Windows下C++多线程同步与互斥简单运用
  • 原文地址:https://www.cnblogs.com/viewts/p/13178873.html
Copyright © 2011-2022 走看看