可以说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工具网。
推荐阅读: