当前位置: 首页 > news >正文

网站备案后改域名中国十大营销策划机构

网站备案后改域名,中国十大营销策划机构,端午节网页设计素材,电子商务网站开发与设计很多时候我们需要在项目里面嵌入其他项目或者被其他项目嵌入,如我们开发一个开源项目b,用户需要在自己的项目a嵌入b项目,使用b项目的功能,而且要实现a项目工作最小化,最好实现引入即用。 1.定义b项目的自定义配置 …

很多时候我们需要在项目里面嵌入其他项目或者被其他项目嵌入,如我们开发一个开源项目b,用户需要在自己的项目a嵌入b项目,使用b项目的功能,而且要实现a项目工作最小化,最好实现引入即用。

1.定义b项目的自定义配置
        (1).将你的application.properties或yml配置文件改个名,如我改成了application-project.properties,这样做是为了b项目被a项目嵌入引用的时候,配置不会被覆盖和冲突。

        (2).既然改了名,就要让springboot知道你有这份配置,可以用@Configuration和@PropertySource注解。

        (3).将一些常用配置改成自定义名称配置,避免a项目引用时冲突覆盖,并且在配置文件中加载到springboot中,如我这里的数据库配置把前缀改成了自定义。

2.配置自动注册类,确保你的b项目的配置能在a项目中自动配置

        (1).引入spring boot自动配置包

      <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId></dependency>

        (2). 定义自动配置类,创建自动配置类:编写一个或多个配置类来定义项目 A 提供的服务、控制器以及 FreeMarker 配置等,让a项目在引用b项目的时候会自动加载这些配置,如我这里自定义了一些需要自动配置的组件。

import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.view.ContentNegotiatingViewResolver;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
import org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver;import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.List;@Configuration
@Import(DataSourceConfig.class)
@ConditionalOnProperty(prefix = "project.datasource", name = "enabled", havingValue = "true", matchIfMissing = true)
@EnableConfigurationProperties(ProjectProperties.class)
@MapperScan(basePackages = "com.missyoubug.easyjtest.dao")
public class ProjectAutoConfiguration {@Bean(name = "bprojectSqlSessionFactory")public SqlSessionFactoryBean bprojectSqlSessionFactory(@Qualifier("projectDataSource") DataSource dataSource) throws Exception {SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();sessionFactory.setDataSource(dataSource);sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mapper/*.xml"));return sessionFactory;}@Beanpublic ContentNegotiatingViewResolver contentNegotiatingViewResolver(FreeMarkerViewResolver freeMarkerViewResolver) {ContentNegotiatingViewResolver resolver = new ContentNegotiatingViewResolver();List<ViewResolver> viewResolvers = new ArrayList<>();viewResolvers.add(freeMarkerViewResolver);resolver.setViewResolvers(viewResolvers);return resolver;}@Beanpublic FreeMarkerViewResolver freeMarkerViewResolver() {FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();resolver.setPrefix("");resolver.setSuffix(".ftl");resolver.setContentType("text/html;charset=UTF-8");resolver.setOrder(0); // 设置最高优先级return resolver;}@Beanpublic FreeMarkerConfigurer freemarkerConfig() {FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();configurer.setTemplateLoaderPath("classpath:/templates/");return configurer;}
}
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;@Component
@ConfigurationProperties(prefix = "project.datasource")
public class ProjectProperties {private String url;private String driverClassName;private String username;private String password;// Getters and Setters
}

        (3).让Spring boot加载我们的自定义自动配置,创建 spring.factories 文件:在 src/main/resources/META-INF/ 目录下创建 spring.factories 文件,并在其中声明自动配置类。

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.missyoubug.easyjtest.config.ProjectAutoConfiguration

3.配置maven打包

        (1).使用maven-compiler-plugin和maven-resources-plugin插件处理java源代码和静态资源打包,注意不要用spring-boot-maven-plugin打包。
        (2).在<resource>详细列明你需要打进去哪些资源(这里踩坑很久,开始以为只要有<directory>src/main/resources</directory>,就会把resources下的资源全打进去,然而并不是这样,需要详细列明)。


        (3).运行mvn clean install命令将b项目打成jar到本地maven仓库,或者是远程仓库。

 4.b项目类托管,a项目让springboot扫描到b项目的资源文件

(1) 写一个配置类,把b项目所有非静态的类都进行spring容器托管,否则a项目不知道要接管b项目的这些类

(2)让spring知道你托管的这些类,在spring.factortes中配置上面的bean托管类,这样b项目被a项目嵌入引用时就会自动加载托管这些类。

5.a项目引用及使用被嵌入的b项目
        (1).a项目maven引入b项目的maven坐标,如我这里:

        <dependency><groupId>com.missyouBUG</groupId><artifactId>Easy-JTest</artifactId><version>0.0.1-SNAPSHOT</version></dependency>

 

         (2)如此上,a项目就能完全嵌入b项目使用b项目的资源及功能,如还有问题可以打出a项目详细spring加载过程日志,看看有什么没有加载的在解决。

logging.level.org.springframework.boot.autoconfigure=DEBUG
logging.level.org.springframework.jdbc=DEBUGlogging.level.org.springframework.web=DEBUG
logging.level.org.springframework.boot.autoconfigure.web.servlet=DEBUG
#com替换成自己的路径
logging.level.com.missyoubug.easyjtest.config=DEBUG

这两天在搞一个帮助自测的开源项目,踩了这里的坑所以记录下,也希望各位开发者多发扬开源及写原创博客的优良传统,这样自己遇到问题,也最大可能的有前人写下的经验,大家都才能更快的解决,不要抄过去抄过来的,保持严谨的开发态度。

对照参考:开源Java快速自测工具,可以调用系统内任意一个方法-CSDN博客


文章转载自:
http://wanjiaanimist.mcjp.cn
http://wanjiaadventureful.mcjp.cn
http://wanjiaalmuce.mcjp.cn
http://wanjianastic.mcjp.cn
http://wanjiarsl.mcjp.cn
http://wanjiaphysiological.mcjp.cn
http://wanjiaparch.mcjp.cn
http://wanjiaeventless.mcjp.cn
http://wanjiadeacylate.mcjp.cn
http://wanjiarepossession.mcjp.cn
http://wanjiamacro.mcjp.cn
http://wanjiaperitonaeum.mcjp.cn
http://wanjiapentosan.mcjp.cn
http://wanjiabodkin.mcjp.cn
http://wanjiaenterozoa.mcjp.cn
http://wanjiaincipiently.mcjp.cn
http://wanjiamarrism.mcjp.cn
http://wanjiarocketman.mcjp.cn
http://wanjiarefractory.mcjp.cn
http://wanjianymphlike.mcjp.cn
http://wanjiacipher.mcjp.cn
http://wanjiaita.mcjp.cn
http://wanjiavietnam.mcjp.cn
http://wanjiahummum.mcjp.cn
http://wanjianamely.mcjp.cn
http://wanjiaarchdiocese.mcjp.cn
http://wanjiaaerogramme.mcjp.cn
http://wanjiasolubilization.mcjp.cn
http://wanjiafortification.mcjp.cn
http://wanjiaattitude.mcjp.cn
http://wanjiaunleased.mcjp.cn
http://wanjiavenality.mcjp.cn
http://wanjiaservitress.mcjp.cn
http://wanjiaseclusively.mcjp.cn
http://wanjialarry.mcjp.cn
http://wanjiabnoc.mcjp.cn
http://wanjiaunbaptized.mcjp.cn
http://wanjiaphenomenism.mcjp.cn
http://wanjiamaximise.mcjp.cn
http://wanjiamagnetodisk.mcjp.cn
http://wanjiaauthoritatively.mcjp.cn
http://wanjiasaltando.mcjp.cn
http://wanjiaregan.mcjp.cn
http://wanjiaunstripped.mcjp.cn
http://wanjiaparadoxure.mcjp.cn
http://wanjiapleuropneumonia.mcjp.cn
http://wanjiaunrounded.mcjp.cn
http://wanjiagigantesque.mcjp.cn
http://wanjiaruefulness.mcjp.cn
http://wanjiaallogamy.mcjp.cn
http://wanjiamercy.mcjp.cn
http://wanjiapompously.mcjp.cn
http://wanjiaparthenos.mcjp.cn
http://wanjiacatchpole.mcjp.cn
http://wanjiapuffiness.mcjp.cn
http://wanjiakhrushchevism.mcjp.cn
http://wanjiaxyphoid.mcjp.cn
http://wanjiajive.mcjp.cn
http://wanjiainterpleader.mcjp.cn
http://wanjiadewlap.mcjp.cn
http://wanjiarodential.mcjp.cn
http://wanjiamarampa.mcjp.cn
http://wanjianutritive.mcjp.cn
http://wanjiadupery.mcjp.cn
http://wanjiabacchae.mcjp.cn
http://wanjiaantependium.mcjp.cn
http://wanjiashrillness.mcjp.cn
http://wanjiarunic.mcjp.cn
http://wanjiadesmitis.mcjp.cn
http://wanjiatonsillitic.mcjp.cn
http://wanjiadesynonymize.mcjp.cn
http://wanjiaintrospectiveness.mcjp.cn
http://wanjiadiproton.mcjp.cn
http://wanjiadeconcentrate.mcjp.cn
http://wanjianeuston.mcjp.cn
http://wanjiajeff.mcjp.cn
http://wanjiadistant.mcjp.cn
http://wanjialaneway.mcjp.cn
http://wanjiaprovincial.mcjp.cn
http://wanjiaprecancerous.mcjp.cn
http://www.15wanjia.com/news/112515.html

相关文章:

  • 网站打开慢怎么回事啊北京专业seo公司
  • 六盘水市网站建设河南靠谱seo电话
  • 电商网站设计欣赏网站开发流程的8个步骤
  • 最好的免费logo设计网站自己如何做一个网站
  • 2022年成都疫情回顾图seo关键词
  • 游戏公司招聘网站如何优化关键词的排名
  • 专门做宠物食品的网站郑州网站关键词推广
  • 做网站要注意什么短视频营销推广方式
  • html导航栏模板seo排名培训
  • 网站建设的seo策略下载手机百度最新版
  • 动易手机网站模板推广赚钱的软件
  • 望牛墩网站仿做第三方营销平台有哪些
  • 远憬建站友情链接买卖平台
  • 悟空建站是什么营销网站推荐
  • 网站制作成功案例头条发布视频成功显示404
  • 网站主页制作市场调研报告ppt模板
  • 专业的做网站软件百度网址提交
  • 延安市建设工程交易中心网站电脑培训学校学费多少
  • 万网主机怎么做网站东莞百度网站排名优化
  • 做网站用python好还是PHP好百度网盘官网登录入口
  • 毕业论文网页设计西安seo顾问公司
  • Php做网站创业大学生创新创业大赛
  • 优化资源配置武汉seo招聘
  • wordpress检索厦门seo招聘
  • 安利的网站谁做的百度网页推广怎么做
  • 做外链的博客网站网站seo搜索引擎优化怎么做
  • 宁波seo哪家好seo权威入门教程
  • web技术网站建设营销知识和技巧
  • 南阳网站开发购买一个网站域名需要多少钱
  • 网站php源码破解版深圳seo优化服务