0

私はSpringMVCを研究していて、この単純なHello Worldチュートリアルを見つけました:http ://www.tutorialspoint.com/spring/spring_hello_world_example.htm

このチュートリアルでは、作成者はBeans.xmlという名前のBean構成ファイルを次のように作成します。

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

   <bean id="helloWorld" class="com.tutorialspoint.HelloWorld">
       <property name="message" value="Hello World!"/>
   </bean>

</beans>

tisファイルを使用すると、Spring Frameworkは定義されたすべてのBeanを作成し、タグで定義された一意のIDを割り当てることができます。また、タグを使用して、オブジェクトの作成時に使用されたさまざまな変数の値を渡すことができます。

これはよく知られているBeanファクトリーですか?

私の疑問は次のことに関連しています。前の例では、Bean構成ファイルを使用してBeanを定義していませんが、アノテーションを使用してSpring Beanとは何か、このBeanがどのように機能するかを定義しています(たとえば、@を使用します)。クラスがコントローラーBeanとして機能することをSpringに伝えるコントローラーアノテーション)

Bean構成ファイルを使用し、アノテーションを使用しても同じ意味ですか?

両方使用できますか?

たとえば、JDBCを構成する必要がある場合、beans.xmlファイル内で構成できますか?同時に、Controllerクラスに注釈を使用できますか?

Tnx

4

2 に答える 2

1

はい、あなたはそのことをすることができます。以下の例を見つけてください。ここでは、コントローラーがアノテーションとsessionFactoryを使用して記述し、データソースがサービスに接続されたxmlBeanとして作成されています-

<beans ...>
    <!-- Controller & service base package -->
    <context:component-scan base-package="com.test.employeemanagement.web" />
    <context:component-scan base-package="com.test.employeemanagement.service"/>

    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
           ...
    </bean>
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="annotatedClasses">
        <list>
            <!-- <value>com.vaannila.domain.User</value> -->
            <value>com.test.employeemanagement.model.Employee</value>
            ...
        </list>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">${hibernate.dialect}</prop>
            ...
        </props>
    </property>
    </bean>
    ...
</beans>

SessionFactoryが注入されるサービスの例。

@Repository
public class EmployeeDaoImpl implements EmployeeDao {

    @Autowired
    private SessionFactory sessionFactory;
}

お役に立てば幸いです。:)

于 2013-01-19T12:12:57.723 に答える
0

xmlとアノテーションの両方でBean構成を使用できます。xml構成ファイルでコントローラーを定義することもできます。

@Controllerアノテーションを使用すると、コンポーネントスキャンを使用してBeanを見つけることができます。Controllerは単純なステレオタイプBeanです(そのため、単純にxmlファイルとして宣言できます)。

@Controllerの使用法/セマンティクスの詳細については、こちらをご覧ください

于 2013-01-19T12:09:51.770 に答える