欢迎光临散文网 会员登陆 & 注册

Eclipse下Spring6项目环境配置

2023-08-12 15:25 作者:herostears  | 我要投稿

1、环境准备(OS:win11)

JDK

版本(java --version):

java 17.0.5 2022-10-18 LTS

Java(TM) SE Runtime Environment (build 17.0.5+9-LTS-191)

Java HotSpot(TM) 64-Bit Server VM (build 17.0.5+9-LTS-191, mixed mode, sharing)

安装:oracle或openjdk官网下载后直接安装即可

配置:

---JAVA_HOME:设置成Java安装目录

---PATH路径把java安装目录下bin的路径加进去(生效需重启)

Apache Tomcat

版本:10.11

官网:https://tomcat.apache.org/

配置:默认即可

Apache Maven

版本:10.11

官网:https://maven.apache.org/

配置:参考https://maven.apache.org/configure.html,修改安装目录\conf\settings.xml文件

先备份!!!,然后在mirrors标签内加入

<mirror>

        <id>alimaven</id>

        <name>aliyun maven</name>

        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

        <mirrorOf>central</mirrorOf>

    </mirror>

    <mirror>

        <id>central</id>

        <name>Maven Repository Switchboard</name>

        <url>http://repo1.maven.org/maven2/</url>

        <mirrorOf>central</mirrorOf>

    </mirror>

    <mirror>

        <id>repo2</id>

        <mirrorOf>central</mirrorOf>

        <name>Human Readable Name for this Mirror.</name>

        <url>http://repo2.maven.org/maven2/</url>

    </mirror>

    <mirror>

        <id>ibiblio</id>

        <mirrorOf>central</mirrorOf>

        <name>Human Readable Name for this Mirror.</name>

        <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>

    </mirror>

    <mirror>

        <id>jboss-public-repository-group</id>

        <mirrorOf>central</mirrorOf>

        <name>JBoss Public Repository Group</name>

        <url>http://repository.jboss.org/nexus/content/groups/public</url>

    </mirror>

    <!-- 中央仓库在中国的镜像 -->

    <mirror>

        <id>maven.net.cn</id>

        <name>oneof the central mirrors in china</name>

        <url>http://maven.net.cn/content/groups/public/</url>

        <mirrorOf>central</mirrorOf>

    </mirror>

---path环境变量中加入maven安装路径\bin(生效需重启)

---验证生效:mvn -v

Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)

Maven home: D:\apache-maven-3.9.4

Java version: 17.0.5, vendor: Oracle Corporation, runtime: D:\Java\jdk-17.0.5

Default locale: zh_CN, platform encoding: GBK

OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"

 eclipse

-版本202306

- https://www.eclipse.org/downloads/

- 配置:window->preferences->server->runtime enviroment把server设置成tomcat对应版本;window->preferences->maven->installations,改成本地安装的版本


2、创建项目

eclipse新建maven项目,catelog选择internal,archtype artifact ID选择maven-archtype-webapp。填写group ID,artifact id,finish完成,注意中间在console选项卡里要敲个Y才能继续。

项目创建后默认webapp下会有一个jsp文件,此文件会导致eclipse一直报错。查了半天没解决,本身也不用JSP,就直接删掉了。

在web-app下新建一个index.html文件,如果在服务器上能正常访问就证明项目本身没有问题。


3、导入依赖(项目的pom文件)

<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-core</artifactId>

    <version>6.0.11</version>

</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-aop</artifactId>

    <version>6.0.11</version>

</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-context</artifactId>

    <version>6.0.11</version>

</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-web</artifactId>

    <version>6.0.11</version>

</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-beans</artifactId>

    <version>6.0.11</version>

</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-webmvc</artifactId>

    <version>6.0.11</version>

</dependency>

<!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf-spring6 -->

<dependency>

    <groupId>org.thymeleaf</groupId>

    <artifactId>thymeleaf-spring6</artifactId>

    <version>3.1.2.RELEASE</version>

</dependency>

<!--log4j2的依赖-->

<dependency>

<groupId>org.apache.logging.log4j</groupId>

<artifactId>log4j-core</artifactId>

<version>2.20.0</version>

</dependency>

<dependency>

<groupId>org.apache.logging.log4j</groupId>

<artifactId>log4j-slf4j2-impl</artifactId>

<version>2.20.0</version>

</dependency>


<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-web 解决日志里Log4j2-TF-2-Scheduled-1警告问题 -->

<dependency>

    <groupId>org.apache.logging.log4j</groupId>

    <artifactId>log4j-web</artifactId>

    <version>2.20.0</version>

</dependency>



4、修改配置文件web.xml将spring作为随tomcat启动的servlet注册

<servlet>

<servlet-name>app</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:spring-basic.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>


<servlet-mapping>

<servlet-name>app</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>


5、创建spring配置文件(/cmspring/src/main/resources/spring.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:mvc="http://www.springframework.org/schema/mvc"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop"


xsi:schemaLocation="http://www.springframework.org/schema/beans

       http://www.springframework.org/schema/beans/spring-beans.xsd

       http://www.springframework.org/schema/context

       https://www.springframework.org/schema/context/spring-context.xsd 

       http://www.springframework.org/schema/aop

       https://www.springframework.org/schema/context/spring-aop.xsd 

       http://www.springframework.org/schema/mvc 

       https://www.springframework.org/schema/mvc/spring-mvc.xsd">



<!--开启组件扫描 -->

<context:component-scan

base-package="org.htq.test" />


<!-- 配置 Thymeleaf 视图解析器 -->

   <!-- SpringResourceTemplateResolver automatically integrates with Spring's own -->

    <!-- resource resolution infrastructure, which is highly recommended.          -->

    <bean id="templateResolver"

          class="org.thymeleaf.spring6.templateresolver.SpringResourceTemplateResolver">

        <property name="prefix" value="/WEB-INF/templates/" />

        <property name="suffix" value=".html" />

        <!-- HTML is the default value, added here for the sake of clarity.          -->

        <property name="templateMode" value="HTML" />

        <!-- Template cache is true by default. Set to false if you want             -->

        <!-- templates to be automatically updated when modified.                    -->

        <property name="cacheable" value="true" />

 

        <property name="characterEncoding" value="UTF-8" />

    </bean>

 

    <!-- SpringTemplateEngine automatically applies SpringStandardDialect and      -->

    <!-- enables Spring's own MessageSource message resolution mechanisms.         -->

    <bean id="templateEngine"

          class="org.thymeleaf.spring6.SpringTemplateEngine">

        <property name="templateResolver" ref="templateResolver" />

        <!-- Enabling the SpringEL compiler can speed up execution in most           -->

        <!-- scenarios, but might be incompatible with specific cases when           -->

        <!-- expressions in one template are reused across different data types, so  -->

        <!-- this flag is "false" by default for safer backwards compatibility.      -->

        <property name="enableSpringELCompiler" value="true" />

    </bean>

 

    <bean class="org.thymeleaf.spring6.view.ThymeleafViewResolver">

        <property name="templateEngine" ref="templateEngine" />

        <!-- NOTE 'order' and 'viewNames' are optional -->

        <property name="order" value="1" />

<!--        <property name="viewNames" value="*.html,*.xhtml" />-->

        <property name="characterEncoding" value="UTF-8"/>

    </bean>

</beans>


6.log4j2(/cmspring/src/main/resources/log4j2.xml)便于开发调试

在resource下面创建log4j2.xml文件

<?xml version="1.0" encoding="UTF-8"?>

 <!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->

 <!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->

 <!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->

 <configuration status="WARN" monitorInterval="30">

     <!--先定义所有的appender-->

     <appenders>

     <!--这个输出控制台的配置-->

         <console name="Console" target="SYSTEM_OUT">

         <!--输出日志的格式-->

             <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>

         </console>

     </appenders>

     <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->

     <loggers>

         <!--过滤掉spring和mybatis的一些无用的DEBUG信息-->

         <logger name="org.springframework" level="INFO"></logger>

        <root level="all">

             <appender-ref ref="Console"/>

          </root>

     </loggers>

 </configuration>

7.thymeleaf模板文件

(1)模板目录默认是在项目的/cmspring/src/main/webapp/WEB-INF/templates文件夹下

(2)需要在spring配置文件里加上如下配置:

<!-- 配置 Thymeleaf 视图解析器 -->

   <!-- SpringResourceTemplateResolver automatically integrates with Spring's own -->

    <!-- resource resolution infrastructure, which is highly recommended.          -->

    <bean id="templateResolver"

          class="org.thymeleaf.spring6.templateresolver.SpringResourceTemplateResolver">

        <property name="prefix" value="/WEB-INF/templates/" />

        <property name="suffix" value=".html" />

        <!-- HTML is the default value, added here for the sake of clarity.          -->

        <property name="templateMode" value="HTML" />

        <!-- Template cache is true by default. Set to false if you want             -->

        <!-- templates to be automatically updated when modified.                    -->

        <property name="cacheable" value="true" />

 

        <property name="characterEncoding" value="UTF-8" />

    </bean>

 

    <!-- SpringTemplateEngine automatically applies SpringStandardDialect and      -->

    <!-- enables Spring's own MessageSource message resolution mechanisms.         -->

    <bean id="templateEngine"

          class="org.thymeleaf.spring6.SpringTemplateEngine">

        <property name="templateResolver" ref="templateResolver" />

        <!-- Enabling the SpringEL compiler can speed up execution in most           -->

        <!-- scenarios, but might be incompatible with specific cases when           -->

        <!-- expressions in one template are reused across different data types, so  -->

        <!-- this flag is "false" by default for safer backwards compatibility.      -->

        <property name="enableSpringELCompiler" value="true" />

    </bean>

 

    <bean class="org.thymeleaf.spring6.view.ThymeleafViewResolver">

        <property name="templateEngine" ref="templateEngine" />

        <!-- NOTE 'order' and 'viewNames' are optional -->

        <property name="order" value="1" />

<!--        <property name="viewNames" value="*.html,*.xhtml" />-->

        <property name="characterEncoding" value="UTF-8"/>

    </bean>


8.程序(/cmspring/src/main/java/org/htq/controller/Hello.java)

package org.htq.controller;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

@RequestMapping("/hello")

public class Hello {

@RequestMapping("/")

public String hello()

{

return "hello";

}

}


创建/cmspring/src/main/webapp/WEB-INF/templates/hello.html

访问http://localhost:8080/你的项目名称/hello/,如果能正常显示就表示环境配置成功了。


Eclipse下Spring6项目环境配置的评论 (共 条)

分享到微博请遵守国家法律