您的位置:首页 > 科技 > 能源 > 工程建设监理规定_如何提高网站排名的方法_什么是网络营销的核心_网站免费优化软件

工程建设监理规定_如何提高网站排名的方法_什么是网络营销的核心_网站免费优化软件

2024/12/26 1:51:07 来源:https://blog.csdn.net/qq_41320700/article/details/143996116  浏览:    关键词:工程建设监理规定_如何提高网站排名的方法_什么是网络营销的核心_网站免费优化软件
工程建设监理规定_如何提高网站排名的方法_什么是网络营销的核心_网站免费优化软件

目录 

一、SpringBoot 产生原因

以往的项目整合起来是比较繁琐复杂的,而且存在架包冲突的问题,这时候SpringBoot应运而生。

二、SpringBootApplication背后的秘密

我们开发任何一个Spring Boot项目,都会用到如下的启动类

@SpringBootApplicationpublic class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}

要揭开SpringBoot的神秘面纱,我们从Annotation定义(@SpringBootApplication)和类定义 (SpringApplication.run)入手。

@Target(ElementType.TYPE)   
// 注解的适用范围,其中TYPE用于描述类、接口(包括包注解类型)
或enum声明
@Retention(RetentionPolicy.RUNTIME)  // 注解的生命周期,保留到class文件中(三个生命周
期)
@Documented                          
// 表明这个注解应该被javadoc记录
@Inherited                           
@SpringBootConfiguration             
@EnableAutoConfiguration             
器之一,其                                     
@ComponentScan(excludeFilters = {    
// 子类可以继承该注解
// 继承了Configuration,表示当前是注解类
// 开启springboot的注解功能,springboot的四大神
//借助@import的帮助
// 扫描路径设置(具体使用待确认)
@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),@Filter(type = FilterType.CUSTOM, classes = 
AutoConfigurationExcludeFilter.class) })public @interface SpringBootApplication {...}

虽然定义使用了多个Annotation进行了原信息标注,但实际上重要的只有三个Annotation: 1.@Configuration(@SpringBootConfiguration点开查看发现里面还是应用了@Configuration)

2.@EnableAutoConfiguration

3.@ComponentScan  即 @SpringBootApplication = (默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan。

所以,如果我们使用如下的SpringBoot启动类,整个SpringBoot应用依然可以与之前的启动类功能对 等:

 @Configuration@EnableAutoConfiguration@ComponentScanpublic class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}

2.1 分别介绍这3个Annotation

2.1.1 @Configuration

这里的@Configuration对我们来说不陌生,它就是JavaConfig形式的Spring Ioc容器的配置类使用的那 个@Configuration,SpringBoot社区推荐使用基于JavaConfig的配置形式,所以,这里的启动类标注 了@Configuration之后,本身其实也是一个IoC容器的配置类。 举几个简单例子回顾下,XML跟config配置方式的区别:

表达形式层面

基于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"xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"default-lazy-init="true"><!--bean定义--></beans>

而基于JavaConfig的配置方式是这样:

@Configurationpublic class MockConfiguration{//bean定义
}

任何一个标注了@Configuration的Java类定义都是一个JavaConfig配置类。

注册bean定义层面

基于XML的配置形式是这样: 

<bean id="mockService" class="..MockServiceImpl">...</bean>

而基于JavaConfig的配置形式是这样的:

 @Configurationpublic class MockConfiguration{@Beanpublic MockService mockService(){return new MockServiceImpl();}}

任何一个标注了@Bean的方法,其返回值将作为一个bean定义注册到Spring的IoC容器,方法名将默认 成该bean定义的id。

表达依赖注入关系层面

为了表达bean与bean之间的依赖关系,在XML形式中一般是这样:

<

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com