zoukankan      html  css  js  c++  java
  • Spring中Bean的不同配置方式

    Bean的配置方式一共分为三种:

    1.基于XML(适用于第三方类库,无法在类中写注解以及写命名空间的配置等情况)

    2.基于注解(适用于大部分情况)

    3.基于Java类

    以下是三种不同情况的配置方式

      基于XML 基于注解 基于Java类配置
    Bean 的定义 <bean class="com.gin.UserName" />

    @Component(或衍生@Repositry、@Service及@Controller)

    public class UserName {...}

    @Configuration

    public class

    Test{

    @Bean

    public UserName userName() {

    return new   UserName();

    }  

    }

    Bean的名称 <bean id="userName" class="com.gin.UserName" />

    @Component("userName")//空的默认值为userName

    public class UserName {...}

    @Bean(”userName“)

    public UserName userName() {

    return new   UserName();

    } 

    Bean的注入

    <property name="userName" ref-bean="userName" />

    <p:userName-ref="userName">

    public class UserService{

    @Autowired

    @Qualifier("userName")//@Qualifier是可选项

    private UserName userName;

    @Bean(”userName“)

    public UserName userName() {

    return new   UserName();

    } 

    @Bean

    public UserService userService() {

    UserService userService = new UserService();

    userService.setUserName(userName());

    @Autowired

    private DaoUsername daoUsername;

    @Bean

    public UserService userService() {

    UserService userService = new UserService();

    userService.setUserName(daoUsername.userName())

    Bean的生命过程方法

    <bean id="userName" class="com.gin.UserName" init-method="init" destory-method="destory" /> //初始化和销毁都只有一个   

    public class UserService{

    @Autowired

    private UserName userName;

    @PostConstruct

    public void init() {}

    @PreDestory

    public void destory() {}

    }//初始化和销毁可以有多个

    Bean的作用范围 bean id="userName" class="com.gin.UserName" scope="prototype" />  @Scope("protptype")

    public class UserService{}

    @Scope("protptype)

    @Bean

    public UserName userName() {

    return new   UserName();

    } 

  • 相关阅读:
    mysql 查询当月天数
    mybatis <collection>标签 类型为string时无法获取重复数据错误
    eclipse 关闭validating
    YAGNI 声明
    tomcat 异常
    svn 用cmd命令行启动服务
    linux 命令
    windows10安装liux系统
    一带一路是个啥?
    串口通信协议
  • 原文地址:https://www.cnblogs.com/jing-daye/p/5911138.html
Copyright © 2011-2022 走看看