JAVA开发jar lib包,Spring配置文件如何处理?
项目开发一个Jar lib依赖包,其中使用了spring容器技术,就有application.xml bean配置文件。问题是如果其它工程
引用这个jar包,而这个主工程也用了spring容器,也有xml bean配置文件。这种如何处理?
一般开发jar lib包时,用spring容器技术是如何设计给上层应用使用?
0

5个回答

第一个问题,你可以通过配置ContextLoaderListener的监听文件路径,将两个项目的xml都注册到一个spring容器中,例如在web.xml中配置:

    <!-- spring配置文件路径 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
             <!--加入Spring配置文件-->
            classpath:config/applicationContext.xml
            <!-- /WEB-INF/classes/applicationContext.xml,/WEB-INF/classes/spring-srevlet.xml -->
        </param-value>
    </context-param>

    <!-- Spring监听器 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

第二个问题,原则上开发第三方时,不应该直接使用spring容器(但可以依赖spring的jar),而是提供spring集成支持,容器一般在运行时才集成。这个东西我也不好用语言表达,举个简单例子,比如jedis是不依赖任何spring功能,但是spring-data-redis就能将jedis无缝集成到spring容器中。

1

java 的lib 包中 不要使用 配置文件中的配置,如果必须要使用的话,要在调用 lib 的工程中配置 lib 中需要的配置。

1

如果是一个项目就spring配置一遍,所有子模块共用一个。
如果是2个项目,就分别配置啊,夸项目,jar包一般配置多次,每个项目的jar包放到当前项目中使用

0

最好jar包不要用application.xml直接命名,或者放到根目录以外的文件夹如:resources/XXX/application.xml

0

1) 利用了Spring ApplicationContext 的 registerBeanDefinition方法和动态bean注册技术;
2) 作为bean管理的一个规范:要求Service类实现 setDAO(DAO dao)方法,以便统一注入dao实例;
3) 作为bean管理的一个规范:调用 dao.setDatasource(datasource)方法进行数据源注入;
4) 作为bean管理的一个规范:内部使用className作为 service bean 和dao bean的内部id;
5) 作为bean管理的一个规范:ServiceFactory内获取bean实例时,都采用prototype scope。

-1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Springboot打jar包分离lib配置文件正确方式
Springboot 打jar包分离lib,配置文件正确方式 前言 Springboot 打jar包分离lib,配置文件的方式,网上可以搜到的我都没试通。跟刘大神(大神没有博客,很可惜)讨论后,给出了这么一个解决方案,供大家参考。 部署环境 window 10 redhat 6.4 其他版本没有尝试,应该也是可以的 POM.xml &amp;lt;?xml version=...
Springboot 打jar包分离lib,配置文件正确方式
原文地址:https://my.oschina.net/xiaozhutefannao/blog/1932764 参考文档处理时,一直出问题,稍微调整了一下出来了,我这个办法有点笨,模块较多的话会比较麻烦。 这边只列出调整了地方的配置文件 启动模块的pom.xml &amp;amp;amp;lt;build&amp;amp;amp;gt; &amp;amp;amp;lt;plugins&amp;amp;amp;gt; &amp;amp;amp;lt;!-- 打出项目依赖的第三方包,放在lib
Springboot jar包外指定配置文件及原理
Springboot jar包外指定配置文件及原理
springboot jar包外置配置文件
           springboot项目打成jar包,默认读取的classpath路径下的配置文件,config.properties是自定义配置文件。                                                  如果要把config.properties配置放在jar包外面,方便修改配置,          1.在启动类或者配置类上添加@Prop...
springboot 打jar包后启动,resource下配置文件找不到和lib下jar包打包问题解决
首先把项目中那些乱七八糟的pom的依赖,插件都去掉,因为再这上面吃了大亏....都不知道为什么那些东西会存在,自己的项目也用不上的,揪心,整了2小时.... 先上图,项目结构如图所示: 项目中的引入方式为: 在此进行service.xml文件的引入,在本地run/debug启动都没有什么问题,但是打成jar包之后启动就是找不到文件,修改pom文件如下: &amp;lt;res...
maven打包spring boot时分离配置文件和依赖jar文件
关于spring boot的maven项目打成jar包时,分离配置文件和依赖jar包的事情,本来网上找找资料一会就能搞定的,但是搜索了好多资料都是基本只能够实现配置文件分离的,依赖jar还是没分离出来。最后通过瘦身jar相关的文档和maven plugins相关文档理解一些配置的信息,然后找到了一个方法,分享给大家,转载连接在最后。 1、需要到的maven plugins spring-boot-...
springboot打包好的Jar文件运行时引用外部的配置文件
去Interview时被问了这个问题,之前都是直接在idea里改好再打包了,所以没有直接引用外部文件过,通过查看SpringBoot官网,得知有下面的几种方法: 24.3 Application Property Files SpringApplication loads properties from application.properties files in the following...
(转)windows下运行jar程序或java程序,引入多个lib包(jar包)以及配置文档的解决办法...
[size=medium][color=red]注意:复制以后请去掉注释,配置好JAVA_HOME环境变量,如果没有配置环境变量请修改第三行为:set JAVA=java 同时需注意libpath和config的相对路径是否正确,如果jar和文件夹在同一个目录下直接使用文件名就行了(不加点和斜杠),如:lib 如果不带配置文档可以考虑类似的运行方法加载其他jar包:java -Djav...
使用maven给spring项目打可直接运行的jar包(配置文件内置外置的打法)
从网上看过许多打jar包的例子,大多是将配置文件打进jar包的。经过本人一番研究,终于搞清楚了怎样将jar包的配置文件外置。 废话不说,直接上spring的pom.xml的配置文件。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc
springboot构建jar包部署分离lib文件夹
说明 springboot构建jar部署,通过使用 java -jar xxx.jar 命令启动服务,非常方便,但是通过maven构建的jar包含 \BOOT-INF\lib\下的所有依赖jar包,导致jar包文件太大,本文将接解决这一问题。 解决思路 在maven构建springboot项目jar时候,将lib文件夹分离出来。 在运行jar的时候,能够应用到分离的lib包 解决步骤 正常构...
springboot或springCloud maven 打包分离依赖jar包及配置文件
  使用springCloud的过程中,发布到生产环境的网速受限,如果每次将60,70M甚至更大的jar包上传,速度太慢了,采取jar包和配置文件分离的方式可以极大的压缩jar包大小,至于依赖的jar包则只需要上传一次,后期增加了jar包则将jar包加入到jar包文件夹内就可以了。配置文件也是一样,每次修改了才需要修改服务器文件,如果只是单纯的代码更新,我们直接打包上传源码jar包就可以了。直接上...
spring 扫描不到jar中class文件的原因和解决方法
背景公司一web项目使用的是spring mvc开发的,老员工们写了一个缓存service,即EhcacheService , 该缓存service在web中使用了spring 的@Scheduled 启动加载缓存,代码如下:applicationContext.xml<context:component-scan base-package="cn.com.service" />EhcacheSer
springboot项目实现jar包外配置文件管理
背景为实现快速搭建和开发,项目以Springboot框架搭建,springboot搭建的项目可以将项目直接打成jar包并运行,无需自己安装配置Tomcat或者其他服务器,是一种方便快捷的部署方式。假设项目以最常规的方式打包成一个整体的jar包部署,即配置文件和第三方依赖包都包含在jar包里,就会有如下两个问题问题一:项目运行过程中,要改动配置文件的话需要重新打包并部署。问题二:多个第三方依赖包都相...
SpringBoot打jar包并且引用部分本地工程的lib库
maven工程下的springboot,一边配置好引用的依赖使用下面的build配置就可以了,然后使用maven install就会在target下生成jar包了。但是这是要在你的依赖全在maven库中的情况,假如你的工程有些依赖不再maven库中的话,就会报错了。 &lt;build&gt; &lt;plugins&gt; &lt;plugin&gt; &lt;g
Maven打包可执行jar 分离配置文件和lib
类: package com.too.m2.hello_m2; import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; p
maven-assembly-plugin 打包可执行jar(fat jar)和配置文件与jar同时打包部署
java程序要打包可执行的jar,可以利用maven-assembly-plugin插件; 1)如果是需要将程序所有依赖的jar打包到同一个jar中,可以在pom.xml添加如下依赖: org.apache.maven.plugins maven-assembly-plugin 3.0.0 jar-with-dependenci
Spring Boot 引用本地jar包
Spring Boot 的项目常用maven管理jar包,并使用maven将项目打成可部署或运行的包,此篇主要介绍在springboot maven项目中如何将自己本地的jar包添加到项目中。 1、与src平级创建文件夹“lib”(后续直接对该文件夹操作,若读者的文件夹不同,则后续篇幅中直接把lib的位置换成你自己的文件夹就可以了) 2、将本地jar包拷贝到lib目录下
spring mvc的简单搭建+各种jar包的导入
首先配置web.xml文件<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.
spring-boot打包,引入外部jar包问题
将本地jar添加到本地maven仓库,最直接的办法,在本地仓库创建目录                      self.tls         tls         2.4         api.jar      这种只时候自己开发,别人是找不目录的。不见意这么做 现在使用maven 打包,虽然添加到仓库里了,但是打包后到boot-info lib里是找不到的。 所有
Spring Boot 将第三方依赖和配置文件打包在jar外部并引用
pom.xml文件中添加<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> <configuration>
Spring Boot引用本地jar包
最近在做一个SpringBoot的小工程,这类工程通常都是使用maven管理依赖并打包,但最近这个工程因为某些原因(比如企业自己的jar包,或者修改后的开源项目jar包)需要引用本地jar包。这种情况有两种方案可以采用:        一,搭建一个本地maven源,仍然通过maven管理。这种方法的缺点是,一旦工程需要多人维护,每人都需要搭一个本地源,比较麻烦,除非公司有公用的内部maven源,
SpringBoot实践-导入jar包中的配置文件
事件起因:开发的项目需要依赖一个本地jar包,无法通过maven直接下载;而这个jar包中含有配置文件,在配置文件中定义了spring的bean,而我的项目需要用到这个bean。 开发工具:IDEA JDK版本:1.7 使用框架:SpringBoot、SpringMVC 解决过程: 1、首先需要在项目中引入这个本地的jar包,而且还要保持maven的pom.xml文件的一致与整洁。mav
spring boot 读取resources下文件 和 打成jar 读取jar包中配置文件
问题:         由于使用spring boot + maven 管理项目,所以会把项目打成jar包来进行运行。在不打成jar的情况下,正常情况一般都是读取绝对路径来进行获取配置文件路径。 String url = SensitiveWordInit.class.getResource(&quot;/&quot;).getFile(); File file = ResourceUtils.getFil...
Spring Boot 分离资源文件打包
Spring Boot项目默认的会打包成单一的jar文件,但是有时候我们并不想让配置文件、依赖包都跟可执行文件打包到一起。这时候可以在pom.xml文件中进行配置,从而使资源文件、依赖包和可执行文件分离。pom.xml配置如下: &amp;amp;lt;build&amp;amp;gt; &amp;amp;lt;plugins&amp;amp;gt; &amp;amp;lt;!--**********分离资源文件及依赖包打...
更新spring boot jar包中的BOOT-INF/lib目录下的jar包
更新spring boot jar包中的lib目录下的jar包 场景:需要更新lib目录下某个jar包的配置文件 失败的解决方法:用解压软件依次打开spring boot jar包、lib目录下的jar包,然后修改配置文件后保存回jar包中,这样操作会导致一下错误: java.lang.IllegalStateException: Unable to open nested entry xxx.j...
maven管理的web项目部署到tomcat后web-info的lib文件夹下不加载jar包的问题
这几天在使用公司搭的新框架,使用maven管理的web工程,用eclipse操作的,maven版本3.3.9,这个版本只能使用JDK1.7以上的版本。 首先遇到的问题是,把web项目部署到tomcat中后,运行tomcat一直报错找不到类ContextLoaderListener,看了一下maven本地库是有这个jar包的,在spring-web.jar中, 于是百度了好久,终于找到了
Spring Boot 部署后将配置文件和日志文件放到jar之外方法
网上看了好多,乱七八糟,还配置什么一大推。。。 ----------------------------------- 1.配置文件application.properties直接外放即可 2.日志文件两种方式:     a.pom.xml文件排除文件 &amp;lt;build&amp;gt; &amp;lt;resources&amp;gt; &amp;lt;resource&amp;gt; ...
将spring boot项目成jar包,并把配置文件等放在jar包外部
接上篇:如何使用maven打包spring boot项目,打成jar包 前面说了如何将springboot项目打包成jar包,但是这样打包会将所有文件都放入jar包。当我们部署在其他地方需要修改配置时就比较麻烦,那么怎么实现将配置文件打包在外面呢?首先看下我项目的配置文件路径结构: 目标是将自定义config文件下的properties文件和默认application.properties...
Spring项目中无法删除lib下面的jar文件的解决方法
Spring项目中无法删除lib下面的jar文件的解决方法 删除时出现以下提示: 、 解决办法: 右键点击项目 ——&amp;amp;gt; Spring Tools ——&amp;amp;gt; Remove Spring Project Nature ——&amp;amp;gt; 重启eclipse 附录: Spring Project Nature是什么? The “nature” has nothing to ...
Java SpringMvc Jar包下载及部署方式
本次来记录一下关于 springmvc jar包的下载以及部署首先登陆   http://repo.spring.io/release/org/springframework/spring/到里面我们可以看到有一系列的版本,可以自己挑选相应的版本进行下载点击相应的版本就可以下载相关的springmvc环境压缩包了压缩包下载完毕后(以4.0.0.0版本为例),Lib便是所需要的jar文件夹根据自己的...
(九)Spring Boot将程序打成可执行jar包,并将配置文件从jar包中分离出来
Spring Boot自带spring-boot-maven-plugin 插件,但是spring-boot-maven-plugin的使用感觉,相关配置太少,并且无法满足方便部署和运行的需求。 这里我们使用了,Maven的如下插件:                maven-compiler-plugin  java编译插件,可以配置jdk版本                mav
spring 4jar 包
spring 4jar 包,包含常用jar 包和spring doc 文档,spring 配置文件
SpringBoot 配置文件及jar包
spring.xml文件 &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt; &amp;lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:context=&quot;http:/
ssh整合思想初步 struts2与Spring的整合 struts2-spring-plugin-2.3.4.1.jar下载地址 自动加载Spring中的XML配置文件 Struts2下载地址
首先需要JAR包 Spring整合Structs2的JAR包 struts2-spring-plugin-2.3.4.1.jar 下载地址 链接: https://pan.baidu.com/s/1o7I0Bdo 密码: eg3a spring-web-4.2.4.RELEASE.jar 这个JAR包在Spring框架包的libs中有    Structs2所需JAR包如下: 也需要放进来 我
springboot jar、资源文件分离打包配置
原文地址:https://www.jianshu.com/p/a97501bb5460 pom.xml &amp;lt;build&amp;gt; &amp;lt;plugins&amp;gt; &amp;lt;!--打包jar --&amp;gt; &amp;lt;plugin&amp;gt; &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt; &amp;lt;artifa...
spring boot打成jar包用外部配置文件替换配置
由于需求的原因,配置文件中的数据库连接等内容需要动态替换。 首先搜到的是可以运行jar包的时候传配置参数: java -jar demo.jar --server.port = 9000 但是客户端传给我的是一整个大json串,所以pass。 然后了解到SpringApplication从4个地方加载配置文件: jar包同目录下的config文件夹中 jar包同目录下 classp...
springboot-填坑系列-jar启动分离依赖lib和配置
springboot-填坑系列-jar启动分离依赖lib和配置 前言 先前发布boot项目的时候,改动一点东西,就需要将整个项目重新打包部署,十分不便,故把依赖lib从项目分离出来,每次部署只需要发布代码即可。 半自动化步骤 步骤1,更换maven的jar打包插件 先前使用的是spring-boot-maven-plugin来打包 这个插件会将项目所有的依赖打入BOOT-...
maven添加外部jar,以及springboot打包
一、maven添加外部jar 可以通过设置scope的值来引用,代码如下: ipaynow ipaynow system 2.1.0 ${basedir}/src/main/webapp/WEB-INF/lib/ipaynow_base_v2.1.0.jar 二、springboot打包外
SpringBoot项目打包三方JAR
SpringBoot项目打包成可运行JAR包,但是不是所有JAR包都是MAVEN中央库或者是私有库里面有的,那么要如何把第三方的JAR包通过MAVEN的SpringBoot的打包组件打包进可运行JAR包里呢? 解决方法: 1.所第三方的JAR放到项目下如:/src/lib 2.加入maven依赖:<dependency> <groupId>com.seven</groupId>
SpringBoot 使引用中的jar包中的配置文件生效
场景:一个由多模块构成的spring boot maven项目,有A,B,C三个子项目,也就是三个jar包,其中A中写了数据库底层mapper,所以被B和C中引用。问题:为了方便,数据库的配置想直接写在A模块中的yaml文件中,这样在B/C模块中的yaml文件中就不必再写数据库连接信息了,但是测试发现在启动项目B的时候,没有读取到A yaml文件中的配置。原因:A/B/C三个项目的yaml文件都在...

相似问题

1
spark-submit命令运行jar包报空指针,Java -jar命令可以运行。
1
利用java反射在jar包下二级jar包中搜索一类的子类或实现类问题
3
【Java】war包也可以用java -jar命令启动?
1
怎么利用javascrpt语言将java语言的jar包作为form表达调用?
6
【JAVA】项目下有个lib,怎么在打包的时候把里面的jar自动加进项目?
1
springboot+gradle使用bootJar打包的jar文件不要,不要,不要包含BOOT-INF/lib目录?
1
java运行jar包, 两种方式项目都可以运行成功,但是访问项目时,java -jar 会报异常
1
java工程导出jar文件后打包成exe安装程序问题
3
spring boot jar包方式启动,无法获取资源文件
1
springboot使用spring.profiles.active=local加载配置文件失败?
0
用gradle构建的springboot项目,为什么在cmd中java -jar命令执行build/libs下的jar包会出错
3
Exception in thread "main" java.lang.NoClassDefFoundError,有导入对应jar包,但显示无法找到对应类?
1
使用Gradle引用jar包和将jar包放在labs文件夹下再引用之间的区别是什么
5
如何让客户看不到jar包中的源码?
1
mybatis 文档根元素 "additionalHeaders" 必须匹配 DOCTYPE 根 "null",求大佬解惑
1
请问Spring配置文件<tx:annotation-driven transaction-manager="txManager" />编译不过去怎么解决
0
jar包中class文件中的代码与java 源文件代码不一致
3
在后台自动运行的java程序如何开发?
0
gradle项目引入jar包时,将jar包的依赖包也引入
3
问:spring boot 项目进入本地自定义jar包拦截器。。。