spring框架怎么搭建?为什么使用Spring框架?

可以说Spring是贯穿表现层、业务层、持久层,为javaEE提供一站式解决方案的框架,所以spring框架也是开发人员使用频率很高的一个框架,那spring框架怎么搭建?下面来我们就来给大家讲解一下。

项目搭的比较简单只用了spring的core和webMvc两个包,对于请求返回页面足够了。

环境:idea+maven

1.配置pom.xml文件

这是在创建项目时需要手动输入的几个节点名

<!--项目包-->
  <groupId>com.huimin</groupId> <
  !--项目名-- >
  <artifactId>first_spring</artifactId> <
  !--打包后的文件为war格式-- >
  <packaging>war</packaging> <
  !--版本-- >
  <version>1.0-SNAPSHOT</version>

下边配置了一下maven依赖的几个jar包

<!--统一管理版本-->
  <properties>
    <!--编码格式-->
    <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
    <!--spring格式-->
    <spring.version>4.3.5.RELEASE</spring.version>
    <!--存放一些包的版本号-->
  </properties> <
dependencies >
    <!--单元测试的依赖-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency> <
    !--mvc-- >
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency> <
    !--spring核心包-- >
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency> <
    /dependencies>

2.spring的配置

spring框架引入后整个项目都是建立在spring之上的,那么在程序的入口就应该加载spring的配置,所以首先在web.xml中配置

①先配置一个spring的监听,web项目启动时,通过这个监听开始加载spring的配置文件

<!--spring监听ApplicationContext的载入-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

②指定spring配置文件路径

<!--配置applicationContext.xml的全局名-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/applicationContext.xml</param-value>
    </context-param>

③指定spring管理映射关系

<servlet>
      <servlet-name>SpringMVC</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <!--定义spring单独的配置,servlet相关内容在spring-servlet中单独管理-->
      <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/spring-servlet.xml</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
  </servlet> <
  !--设置映射关系由spring管理-- >
  <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

web.xml配置告一段落...

④spring-servlet配置内容

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-2.5.xsd
       http://www.springframework.org/schema/mvc
       http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
    <!--开启注解驱动-->
    <mvc:annotation-driven></mvc:annotation-driven>
    <!--扫描包-->
    <context:component-scan base-package="com.huimin.*"></context:component-scan>
 
 
    <!--jsp页面指定位置    可选内容-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--文件路径-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--文件后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

beans标签上一堆链接似得东西都有来头

xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance"
       xmlns: context = "http://www.springframework.org/schema/context"
       xmlns: aop = "http://www.springframework.org/schema/aop"
       xmlns: mvc = "http://www.springframework.org/schema/mvc"

schemaLocation中的.xsd文件是对xml的规范,引入context的xsd文件,那么配置中就可以写context标签;

引入了beans的xsd,那么配置中就可以引入beans标签...

spring配置文件中必须有的两个配置一个是开启注解驱动,一个是扫描包

⑤java代码(注解)

@Controller

public class RegistController
{
    @RequestMapping("/regist")
    public String regist()
    {
        return "firstJsp";
    }
}

为什么使用Spring框架?

1.Spring能有效地组织你的中间层对象,无论你是否选择使用了EJB。如果你仅仅使用了Struts或其他的包含了J2EE特有APIs的framework,你会发现Spring关注了遗留下的问题。Spring能消除在许多工程上对Singleton的过多使用。根据我的经验,这是一个主要的问题,它减少了系统的可测试性和面向对象特性。

2.Spring能消除使用各种各样格式的属性定制文件的需要,在整个应用和工程中,可通过一种一致的方法来进行配置。曾经感到迷惑,一个特定类要查找迷幻般的属性关键字或系统属性,为此不得不读Javadoc乃至源编码吗?有了Spring,你可很简单地看到类的JavaBean属性。倒置控制的使用(在下面讨论)帮助完成这种简化。

3.Spring能通过接口而不是类促进好的编程习惯,减少编程代价到几乎为零。

4.Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。

5.使用Spring构建的应用程序易于单元测试。

6.Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local EJBs来实现业务接口,却不会影响调用代码。

总之使用Spring框架的好处还是很多的,简化企业项目的开发的流程,提升开发效率便于代码的后期维护升级,最后大家如果想要了解更多java架构师知识,敬请关注奇Q工具网。

推荐阅读:

java异常处理代码是什么?java异常类型有哪些?

java主函数的内容是什么?实例了解java主函数

java技术栈面试真题有哪些?java技术栈面试真题