• 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();

    } 

  • 相关阅读:
    Python爬虫学习01
    Python学习Day02
    JavaScript学习笔记01
    Python学习Day01
    MarkDown实例代码
    MarkDwon的使用方法
    (转)探究requestDisallowInterceptTouchEvent失效的原因
    JNI字符串转字节数组指针方法
    justfun
    dsad
  • 原文地址:https://www.cnblogs.com/jing-daye/p/5911138.html
Copyright © 2020-2023  润新知