Java 笔记 Spring

Posted 不鸣则已

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 笔记 Spring相关的知识,希望对你有一定的参考价值。

一、Spring框架

源码地址:https://github.com/spring-projects/spring-framework

构建工具:Gradle,Gradle教程:https://www.w3cschool.cn/gradle/

Gradle基于Groovy语言,Groovy教程:https://www.w3cschool.cn/groovy/

JSR标准相关的资料: https://jcp.org/en/jsr/all

 

二、Spring框架Module

官网文档:https://docs.spring.io/spring/docs/4.3.17.RELEASE/spring-framework-reference/htmlsingle/#overview-modules

三、使用Maven构建demo-springmvc项目

File -> New Project -> Maven(勾选Create from archetype,同时选择maven-archetype-webapp) -> Next 

GroupId:com.example

ArtifactId:demo-spring

-> Next -> Next -> 
Project name:demo-spring

-> Finish

 

对比上面两图,发现不同点只在于有没有web结构,而且默认的web结构还是需要修改的。 继续...

 

添加spring mvc框架支持,直接在pom.xml文件中dependencies下添加spring mvc的依赖

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>4.3.17.RELEASE</version>
</dependency>

 

替换web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

WEB-INF下添加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">

</beans>

 

dispatcher-servlet.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"
       xmlns:context="http://www.springframework.org/schema/context"
       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/context http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--spring基本注解支持 -->
    <context:annotation-config/>

    <!--mvc注解支持-->
    <mvc:annotation-driven/>

    <!--静态资源映射-->
    <mvc:resources mapping="/css/**" location="/WEB-INF/statics/css/"/>
    <mvc:resources mapping="/js/**" location="/WEB-INF/statics/js/"/>
    <mvc:resources mapping="/image/**" location="/WEB-INF/statics/image/"/>

    <!--jsp模板视图支持-->
    <bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/WEB-INF/view/"/>
        <property name="suffix" value=".jsp"/>
        <property name="exposeContextBeansAsAttributes" value="true"/>
    </bean>

    <!--自动扫描装配-->
    <context:component-scan base-package="com.example.demo"/>
</beans>

 

写个Controller跑起来看看

在 src -> main 下建两个文件夹,java和test,创建完成后,分别设置资源类型

 

java文件夹设置为 sources,test文件夹设置为 tests

 

创建一个测试controller

 

配置测试服务器

 

 点击启动,访问 localhost:8080/user/get

会显示 ?? 

原因:spring mvc默认输出字符集 iso-8859-1,需要将输出字符集调整为 utf-8

 

再次启动,访问  localhost:8080/user/get,显示正常。

 

以上是关于Java 笔记 Spring的主要内容,如果未能解决你的问题,请参考以下文章

Java框架spring Boot学习笔记:Spring相关概念

Spring学习笔记——Spring之旅

Spring学习笔记之装配Bean

Java Spring学习笔记----Bean的依赖注入

阅读笔记《Java EE企业应用实战》(第四版)第七章——Spring的基本用法

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段