zoukankan      html  css  js  c++  java
  • @Configuration和@Bean的用法和理解

    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类

    [java] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    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

    来源:https://www.cnblogs.com/soundcode/p/6477974.html

  • 相关阅读:
    hmailserver
    用数据库管理SERV-U的用户时,如何修改密码及原理
    一个jquery的图片下拉列表 ddSlick
    图片下拉列表
    mvc 用户控件 ascx 获取 View 页面的值
    asp.net mvc 通过修改路由规则来实现页面的URL多参数传递
    tips
    让ie6/7/8兼容css3的圆角阴影等特殊效果的方法 PIE1.0.0及placeholder在这些IE下生效的方法
    IE8下ckeditor无法正常使用,提示"例外被抛出且未被接住"的解决办法
    iis6 下发布MVC2项目的方法
  • 原文地址:https://www.cnblogs.com/kongxc/p/8579469.html
Copyright © 2011-2022 走看看