@Configuration的讲解

转载自:https://blog.csdn.net/u012260707/article/details/52021265

Spring Boot提倡约定优于配置,如何将类的生命周期交给spring

 

1、第一种自己写的类,Controller,Service。 用@controller @service即可

2、第二种,集成其它框架,比如集成shiro权限框架,集成mybatis分页插件PageHelper,第三方框架的核心类都要交于Spring大管家管理

@Configuration可理解为用spring的时候xml里面的<beans>标签

@Bean可理解为用spring的时候xml里面的<bean>标签

Spring Boot不是spring的加强版,所以@Configuration和@Bean同样可以用在普通的spring项目中,而不是Spring Boot特有的,只是在spring用的时候,注意加上扫包配置

<context:component-scan base-package="com.xxx.xxx" />,普通的spring项目好多注解都需要扫包,才有用,有时候自己注解用的挺6,但不起效果,就要注意这点。

Spring Boot则不需要,主要你保证你的启动Spring Boot main入口,在这些类的上层包就行

 

就像这样,DemoApplication是启动类,关于启动类的位置放置,在另一篇博客有专门的去分析。

@Configuration和@Bean的Demo类

 

 
  1. @Configuration

  2. public class ExampleConfiguration {

  3.  
  4. @Value("com.mysql.jdbc.Driver")

  5. private String driverClassName;

  6.  
  7. @Value("jdbc://xxxx.xx.xxx/xx")

  8. private String driverUrl;

  9.  
  10. @Value("${root}")

  11. private String driverUsername;

  12.  
  13. @Value("123456")

  14. private String driverPassword;

  15.  
  16. @Bean(name = "dataSource")

  17. public DataSource dataSource() {

  18. BasicDataSource dataSource = new BasicDataSource();

  19. dataSource.setDriverClassName(driverClassName);

  20. dataSource.setUrl(driverUrl);

  21. dataSource.setUsername(driverUsername);

  22. dataSource.setPassword(driverPassword);

  23. return dataSource;

  24. }

  25.  
  26. @Bean

  27. public PlatformTransactionManager transactionManager() {

  28. return new DataSourceTransactionManager(dataSource());

  29. }

  30.  
  31. }

 

这样,在项目中

@Autowired

private DataSource dataSource;

的时候,这个dataSource就是我们在ExampleConfiguration中配的DataSource

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值