网站建设优化服务方案模板西安商城网站建设
news/
2025/10/3 9:53:28/
文章来源:
网站建设优化服务方案模板,西安商城网站建设,网站建设实验总结百科,邢台做网站流程前言
spring作为主流的 Java Web 开发的开源框架#xff0c;是Java 世界最为成功的框架#xff0c;持续不断深入认识spring框架是Java程序员不变的追求。
本篇博客介绍SpringBootApplicant注解的自动加载相关内容
其他相关的Spring博客文章列表如下#xff1a;
Spring基…前言
spring作为主流的 Java Web 开发的开源框架是Java 世界最为成功的框架持续不断深入认识spring框架是Java程序员不变的追求。
本篇博客介绍SpringBootApplicant注解的自动加载相关内容
其他相关的Spring博客文章列表如下
Spring基础核心容器——从配置文件到注解开发 创建对象成员变量赋值IOC 增强方法AOP Spring进阶AOP的理解——静态/动态代理 面向切面编程AOPAspect Oriented Programming 日志记录 增强方法 Spring进阶AOP的应用—— 动态代理AOP后controller层的private方法访问失效的问题 Spring基础Web-MVC——在idea中新建springWeb项目 浏览器请求 和 服务器响应 SpringMvc文件相关 SpringMvc框架——【深入】SpringMVC 的运行流程从客户端发送请求request到springMvc框架返回响应response的全流程分析 DispatcherServlet SpringBoot基础——追根溯源servlet是啥tomcat是啥maven是啥 springBoot项目初步maven构建打包 测试 目录 前言引出mybatis相关包导入没写配置1.SpringBootApplication注解2.如果没有写url等相关配置 分布式架构下如何加载其他模块的类1.单体架构的一般模式2.分布式架构的模式另一种方式设置自动装配 问题使用nacos的时候怎么发现的 总结 引出 1.mybatis相关包导入没写配置SpringBootApplication注解加入排除自动装配的相关内容 2.在分布式架构下如果某个模块想要其他模块下的类需要加入ComponentScan(basePackages “com.tianju.domain”)进行包的扫描 3.如果不加包扫描的注解则需要在想要被注入到spring容器中的模块的resource下即根目录下新建文件夹META-INF新建文件spring.factories写相关内容
mybatis相关包导入没写配置
1.SpringBootApplication注解 2.如果没有写url等相关配置 导入了mysqlmybatisdruid的依赖但是application.yml文件中没有写相关的数据源url等的配置 此时需要在注解SpringBootApplication中加入排除自动装配的相关内容加入排除后再次启动项目不再报错。 package com.tianju;import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;SpringBootApplication(exclude {DruidDataSourceAutoConfigure.class,DataSourceAutoConfiguration.class}
)
public class TestApp {public static void main(String[] args) {SpringApplication.run(TestApp.class);}
}
分布式架构下如何加载其他模块的类 mybatisplus使用分页插件拦截器策略在在一个引入位置写拦截器其它模块引入配置类需要使用ComponentScan(base配置类所在的包) 1.单体架构的一般模式 package com.tinaju.bm.config;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** 分页需要加一个拦截器*/
Configuration
public class MybatisPlusConfig {Bean // 放到容器中public MybatisPlusInterceptor mybatisPlusInterceptor(){MybatisPlusInterceptor mybatisPlusInterceptor new MybatisPlusInterceptor();PaginationInnerInterceptor paginationInnerInterceptor new PaginationInnerInterceptor();paginationInnerInterceptor.setDbType(DbType.MYSQL);paginationInnerInterceptor.setOverflow(true);mybatisPlusInterceptor.addInnerInterceptor(paginationInnerInterceptor);return mybatisPlusInterceptor;}
} 在单体模式下会自动扫描主启动类同级下面的注解就扫描到了标了注解的Configuration 的分页拦截器 2.分布式架构的模式 在分布式架构下如果某个模块想要其他模块下的类需要加入ComponentScan(basePackages “com.tianju.domain”)进行包的扫描 package com.tianju.smovie.genre;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;SpringBootApplication
EnableDiscoveryClient
//EnableJpaRepositories // 不加会报错 Not a managed type: class com.tianju.domain.entity.Genre
EntityScan(basePackages com.tianju.domain.entity) // TODO:jpa需要加这个
ComponentScan(basePackages com.tianju.domain)
public class GenreApp {public static void main(String[] args) {SpringApplication.run(GenreApp.class);}
}如果不加的话就不会加载到容器中 另一种方式设置自动装配 如果不加上面包扫描的注解则需要在想要被注入到spring容器中的模块的resource下即根目录下新建文件夹META-INF新建文件spring.factories写相关内容。 org.springframework.boot.autoconfigure.EnableAutoConfiguration\com.tianju.domain.config.MybatisPlusConfig排除在外相关 问题使用nacos的时候怎么发现的 如下图所示nacos里面就有文件夹META-INF下面有个文件spring.factories里面的东西就会被加载进来 org.springframework.boot.autoconfigure.EnableAutoConfiguration\com.alibaba.cloud.nacos.discovery.NacosDiscoveryAutoConfiguration,\com.alibaba.cloud.nacos.endpoint.NacosDiscoveryEndpointAutoConfiguration,\com.alibaba.cloud.nacos.registry.NacosServiceRegistryAutoConfiguration,\com.alibaba.cloud.nacos.discovery.NacosDiscoveryClientConfiguration,\com.alibaba.cloud.nacos.discovery.reactive.NacosReactiveDiscoveryClientConfiguration,\com.alibaba.cloud.nacos.discovery.configclient.NacosConfigServerAutoConfiguration,\com.alibaba.cloud.nacos.loadbalancer.LoadBalancerNacosAutoConfiguration,\com.alibaba.cloud.nacos.NacosServiceAutoConfiguration,\com.alibaba.cloud.nacos.util.UtilIPv6AutoConfiguration
org.springframework.cloud.bootstrap.BootstrapConfiguration\com.alibaba.cloud.nacos.discovery.configclient.NacosDiscoveryClientConfigServiceBootstrapConfiguration
org.springframework.boot.SpringApplicationRunListener\com.alibaba.cloud.nacos.logging.NacosLoggingAppRunListener
总结
1.mybatis相关包导入没写配置SpringBootApplication注解加入排除自动装配的相关内容 2.在分布式架构下如果某个模块想要其他模块下的类需要加入ComponentScan(basePackages “com.tianju.domain”)进行包的扫描 3.如果不加包扫描的注解则需要在想要被注入到spring容器中的模块的resource下即根目录下新建文件夹META-INF新建文件spring.factories写相关内容
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925744.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!