2016-03-23 3 views
3

Я изучаю структуру весны и задаю очень простой вопрос. Я попытался найти ответ, но не смог его найти, так что медведь со мной. Весной я видел следующую проводку (это то, что она называется).Весна конструктор инъекции в фасоль. Это фасоль?

public class A { 

    private B b; 

    public A(B b) { 
     this.b = b; 
    } 

    public B getB() { 
     return b; 
    } 

    public void setB(B b) { 
     this.b = b; 
    } 
} 


public class B { 

    private String foo; 

    public String getFoo() { 
     return foo; 
    } 

    public void setFoo(String foo) { 
     this.foo = foo; 
    } 
} 

Таким образом, я понимаю, что это автоподключение осуществляется с использованием инъекции конструктора. Тогда в context.xml У меня есть следующие

<bean id="a" class="A" autowire="constructor"> 
    </bean> 

    <bean id="b" class="B" > 
     <property name="foo" value="foo1" /> 
    </bean> 

(Я изучаю конфигурацию с помощью аннотаций, а не context.xml, но использовать его здесь, так как это, кажется, обеспечивает более четкую картину). Поэтому мой вопрос заключается в том, что, поскольку по определению, у компонента должен быть только конструкторы и геттеры и сеттеры no-args, не делает инъекции конструктора, дисквалифицировать его из bean-компонента? Какая очевидная вещь я здесь отсутствует?

+0

Конфигурация боба не должна быть в web.xml. Это должно быть в конфигурации весны xml – Keerthivasan

+0

@Keerthivasan извините, это была моя ошибка. Я исправлю это. – mahacoder

+0

Пожалуйста, ознакомьтесь с этой ссылкой.http: //docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-properties-detailed – Keerthivasan

ответ

2

Bean - загруженный термин. Хотя спецификация JavaBean, по крайней мере, в какой-то момент требовала конструктора no-args, это не означает Весенние бобы do.

+0

так что даже 'JavaBean' не обязательно требует конструктора no-args? Благодарим вас за устранение двусмысленности. – mahacoder

+0

Ну, я не уделял слишком много внимания последним событиям на JavaBeans, но SpringBeans и JavaBeans - это не одно и то же, независимо от аналогичного суффикса Beans. – Kayaman

Смежные вопросы