ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

每天进步一点点~注解篇

2021-07-01 13:54:30  阅读:205  来源: 互联网

标签:car ComponentScan 一点点 bean 进步 注解 Configuration public


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

收藏从未停止,学习从未开始,

与其长篇大论,不如简短精悍。

每天进步一点点,目标距离缩小点。

每天进步一点点,成功就会在眼前。

 

本人水平和能力有限,文章如有不对或有需要修改的地方,还望各位指明纠正

 

1. @SpringBootApplication

 

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

 

@SpringBootApplication包括几个注解:

@EnableAutoConfiguration、@Configuration和@ComponentScan。

 

@EnableAutoConfiguration:启用 SpringBoot 的自动配置机制,将所有符合自动配置条件的bean定义加载到IoC容器。

 

@Configuration:是JavaConfig形式的Spring Ioc容器的配置类。允许在 Spring 上下文中注册额外的 bean 或导入其他配置类。

提到@Configuration就要提到它的搭档@Bean,使用这两个注解可以创建一个简单的spring配置类,用于替代传统的xml配置文件;

 

@Configuration注解主要标注在某个类上,相当于xml配置文件中的<beans>

@Bean注解主要标注在某个方法上,相当于xml配置文件中的<bean>

 

<beans> 
    <bean id = "car" class="com.test.Car"> 
        <property name="wheel" ref = "wheel"></property> 
    </bean> 
    <bean id = "wheel" class="com.test.Wheel"></bean> 
</beans> 

=

@Configuration 
public class Factory{ 
    @Bean 
    public Car car() { 
        Car car = new Car(); 
        car.setWheel(wheel()); 
        return car; 
    } 
    @Bean  
    public Wheel wheel() { 
        return new Wheel(); 
    } 
}

 

@ComponentScan:

扫描被@Component (@Controller,@Service,@Repository,

@Component)注解的 bean,注解默认会扫描该类所在的包下所有的类。

注:

@ComponentScan默认会装配标识@Controller,@Service,@Repository,@Component注解的类到spring容器中。

 

如果你指定了路径,Spring将会将在被指定的包及其子的包中寻找bean。如果没有指定路径Spring默认的在@ComponentScan注解所在的包及其子包中寻找bean。这也是SpringBoot的main方法为什么必须要放在项目目录结构最外层的原因。

 

 

标签:car,ComponentScan,一点点,bean,进步,注解,Configuration,public
来源: https://blog.51cto.com/u_14602625/2963711

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有