Eclipse下如何配置spring应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse下如何配置spring应用相关的知识,希望对你有一定的参考价值。

1、在eclipse下建立一个project,此处以demo为例建立项目。


2、现在开始配置spring,问题在于导入哪些jar,spring-3-2-0导入以下基本jar便可,若要使用其他功能要导入相应的jar。导入较多,如下图中,其中commons-logging-xx.jar是结合struts2是要导入的在struts2里面。

3、接下来配置applicationContext.xml文件,在此处配置比较简单,没有考虑数据库的使用,只是基本的框架搭建,只是进行简单的实例配置。User类是编写的测试类。只有简单的setter和getter方法。

4、最后编写一个测试主类看看是否正确搭建了框架。

参考技术A 在建立单纯的spring项目时,web.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/application.xml</param-value>
</init-param>
上面加框的一段是用来指定spring配置文件的(可以为任意名,如上),也可以不写,不写时spring的配置文件默认名为: “<servlet-name>”名-servlet.xml。(如此处的<servlet-name>的值为“spring”,则配置文件名为:springt-servlet.xml)
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>

spring配置文件(这里假定为spring-servlet.xml)如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<!-- - Application context definition for "springapp" DispatcherServlet. -->
<beans>
<bean id="LoginAction" class="com.ln.spring.LoginAction">
在bean中配置有属性(包括bean格式的属性)时,bean对应的java文件内必须要定义一个与property的name名字一样的属性值,并且需要有这个属性值的getter和setter方法。
<property name="msg">
<value>Hello World</value>
</property>
<property name="data">
<ref bean="data1" />
当一个bean中有格式为bean的属性时,用“<ref bean="bean-name" />”来指定,在指定”bean-name”后还要在下面用”<bean></bean>”来指定这个bean格式的属性的值,此时”<bean></bean>”中的”id”必须与前面指定的”bean-name”一致。
</property>
</bean>
<bean id="data1" class="com.ln.spring.MyAction">
<property name="message">
<value>liang</value>
</property>
</bean>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/login.do">LoginAction</prop>
</props>
</property>
</bean>
</beans>

而在建立spring+struts项目时,web.xml文件按照struts项目的规格建立,在此不在多说,而在此时struts-config.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="loginForm" type="com.ln.struts.LoginForm" />
</form-beans>
<action-mappings>
<action path="/login"
type="org.springframework.web.struts.DelegatingActionProxy"
name="loginForm">
<forward name="success" path="/main.jsp" />
<forward name="failure" path="/loginfail.jsp" />
</action>
</action-mappings>
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/spring-servlet.xml" />
</plug-in>
</struts-config>
在这个配置文件中,由于使用spring来管理struts的action所以有两个地方要注意:
1. Action的”type”指向spring里定义的用来处理action的类,而不是自己写的action.
2.增加了一个”<plug-in></plug-in>“来指定spring配置文件。

此时spring-servlet.xml配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean name="/login" class="com.ln.struts.LoginAction"
singleton="false">
此处的bean与struts-config.xml中的action相对应,name与struts-config.xml中action的path一致
<property name="msg">
<value>Hello World</value>
</property>
</bean>
</beans>本回答被提问者采纳
参考技术B <?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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-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/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

<bean id="dataSource_users"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/dtun_users" />
<property name="resourceRef" value="true" />
</bean>

<bean id="sessionFactory_users"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource_users" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.OracleDialect
</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>

<property name="packagesToScan"
value="com.dtun.module.oracle.advinfo" />
<property name="mappingResources">
<list>
<value>
com/dtun/users/module/UserbasicInfo.hbm.xml
</value>
<value>
com/dtun/users/module/MemberInfo.hbm.xml
</value>
<value>
com/dtun/users/module/SpSaleservice.hbm.xml
</value>
<value>
com/dtun/users/module/SpCity.hbm.xml
</value>
<value>
com/dtun/users/module/SpProduct.hbm.xml
</value>
<value>
com/dtun/users/module/SpProducttype.hbm.xml
</value>
<value>
com/dtun/users/module/FeedBack.hbm.xml
</value>
<value>
com/dtun/users/module/HomeIntroduction.hbm.xml
</value>
<value>
com/dtun/users/module/HomeNews.hbm.xml
</value>
<value>
com/dtun/users/module/CreditsDetail.hbm.xml
</value>
<value>
com/dtun/users/module/SpPromoreicon.hbm.xml
</value>
<value>
com/dtun/users/module/Responseurl.hbm.xml
</value>
<value>
com/dtun/users/module/UserImsiInfo.hbm.xml
</value>
<value>
com/dtun/users/module/ShopOrder.hbm.xml
</value>
<value>
com/dtun/users/module/JfdhProduct.hbm.xml
</value>
<value>
com/dtun/users/module/JfduPromoreicon.hbm.xml
</value>
<value>
com/dtun/users/module/ServiceOnline.hbm.xml
</value>
<value>
com/dtun/users/module/Servicemanage.hbm.xml
</value>
<value>
com/dtun/users/module/Domain.hbm.xml
</value>
</list>
</property>
</bean>

<bean id="daoSupport" class="com.dtun.users.dao.DaoSupportImpl">
<property name="sessionFactory" ref="sessionFactory_users" />
</bean>
</beans>
然后在action里面用注解

运行 Spring Boot 应用程序时如何显示自动配置报告

【中文标题】运行 Spring Boot 应用程序时如何显示自动配置报告【英文标题】:How to display auto-configuration report when running a Spring Boot application 【发布时间】:2018-04-16 12:54:57 【问题描述】:

启动 ApplicationContext 时出错。显示自动配置 报告在启用“调试”的情况下重新运行您的应用程序

当我尝试运行我的 Spring Boot 应用程序时,我收到了上述消息。

有谁知道我如何在启用“调试”的情况下重新运行应用程序?

我正在 Intellij(版本 2016.1.2)中运行应用程序

我的跑步者类如下所示,

@Slf4j
@EnableIntegration
@EnableLoaderApplication
@SpringBootApplication
public class LoaderApplicaton 

    public static void main(final String[] args) 
        SpringApplication.run(LoaderApplicaton.class, args);
    

为了回应 Darren 在下面的回答,我修改了我的 properties.yml 文件如下并生成了自动配置报告,

debug: true
spring:
  application:
    name: xxxMyLoaderApp
  cloud:
    config:
      uri: http://my-host.address.com:8761/config

【问题讨论】:

【参考方案1】:

在您的属性/yml 中设置debug = truedebug: true。它也可以作为参数传递--debug

Spring Boot 文档中提供了有关调试标志作用的更多详细信息。

https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-logging-console-output

【讨论】:

谢谢达伦 - 那会在树下吗?春天:应用: 感谢 Darren,我认为这在应用程序启动时起作用了我现在看到更多消息和 DEBUG 而不是 INFO - 唯一的问题是我在启动过程中稍后仍会看到该消息并显示 INFO 消息而不是 DEBUG。会不会是另一个进程正在启动?知道如何追踪吗? ---- 启动 ApplicationContext 时出错。要显示自动配置报告,请在启用“调试”的情况下重新运行您的应用程序。 2017-11-03 18:10:04.590 错误 7700 --- [主] o.s.b.d.LoggingFailureAnalysisReporter: 调试开关和调试日志不同。您可以通过日志记录属性切换日志记录。调试开关/属性与自动配置报告有关。更改日志记录应在 logging.level 属性下完成,然后选择包含您要设置的级别的包 这对我不起作用。将其添加到我的 yml 文件中不会生成报告,spring 会打印相同的错误消息,就好像它无法识别在配置中设置的变量一样。【参考方案2】:

在运行/调试配置中选中“启用调试输出”

【讨论】:

这个答案应该清楚地说明哪个 IDE 是有效的。 拥有最好的 IDE:Intellij @lrkwz 这个问题是针对 intellij-idea 的,可以在 OP 的标签中看到。【参考方案3】:

在配置属性时,common-application-properties 中有很多属性可以参考。

# ----------------------------------------
# CORE PROPERTIES
# ----------------------------------------
debug=false # Enable debug logs.
trace=false # Enable trace logs.

【讨论】:

这个链接非常有用。我还没有遇到过。谢谢【参考方案4】:

在应用程序的 YAML/settings 文件中将 logging.level.org.springframework.boot.autoconfigure 属性设置为 DEBUG。这样就够了。

【讨论】:

【参考方案5】:

正如我在 Baeldung 讲座中所了解的那样,通过在“application.properties”文件中添加以下行,自动配置 bean 的调试报告显示在控制台上:

logging.level.org.springframework.boot.autoconfigure=DEBUG

【讨论】:

以上是关于Eclipse下如何配置spring应用的主要内容,如果未能解决你的问题,请参考以下文章

eclipse3.5如何配置spring web开发环境

如何将spring导入到eclipse

eclipse:eclipse for java EE环境下如何配置tomcat服务器,并让tomcat服务器显示在控制台上,将Web应用部署到tomcat中

Spring Boot一个项目里能创建两个java类吗

eclipse 如何添加spring开发能力

如何配置任意目录下Web应用程序