簡體   English   中英

將Spring bean配置文件放在什么位置

[英]What location to put spring bean configuration file

我正在使用Spring框架實現一個簡單的應用程序來執行CRUD操作。

源代碼:

User.java是模型類。

package com.vipin.model;

    public class User {

    private int ssn;
    private String firstName;
    private String lastName;
    private String emailId;

    public int getSsn() {
        return ssn;
    }
    public void setSsn(int ssn) {
        this.ssn = ssn;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public String getEmailId() {
        return emailId;
    }
    public void setEmailId(String emailId) {
        this.emailId = emailId;
    }
}

道層:

package com.vipin.dao;
import com.vipin.model.User;

public interface DBOpsDao {
    boolean add(User user);
    boolean find(int ssnId);
}

實現(skelton)實現的類是:

package com.vipin.dao;

import java.sql.Connection;
import java.sql.SQLException;

import javax.annotation.Resource;
import javax.sql.DataSource;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.vipin.model.User;

public class DefaultDBOpsDaoImpl implements DBOpsDao {

    private DataSource dataSource;

    public DataSource getDataSource() {
        return dataSource;
    }

    @Resource(name="dataSource")
    public void setDataSource(DataSource dataSource) {
        this.dataSource = dataSource;
        System.out.println("Datasource value is " + dataSource);
    }

    public boolean add(User user) {

        ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");

        return false;
    }

    public boolean find(int ssnId) {
        // TODO Auto-generated method stub
        return false;
    }
}

示例主類:

package com.vipin.app;

import com.vipin.dao.DBOpsDao;
import com.vipin.dao.DefaultDBOpsDaoImpl;
import com.vipin.model.User;

public class MainApp {

    public static void main(String[] args) {

        System.out.println("Inside main...");
        DBOpsDao dao = new DefaultDBOpsDaoImpl();

        User user = new User();
        user.setFirstName("xxx");
        user.setLastName("yyy");
        user.setSsn(1);
        user.setEmailId("xxx.yyy@example.com");

        dao.add(user);
    }

}

我正在使用maven進行構建,因此Java源代碼位於:

src / main / java(頂級軟件包com.vipin)

當我運行該程序時,它拋出異常,抱怨spring.xml不存在。 我使用了ApplicationContext,這是實現ClassPathXmlApplicationContext之一。

我需要在哪個位置放置spring.xml文件?

任何輸入都會有所幫助。

您將需要在src / main / resources文件夾中添加spring.xml文件。 您可以在此目錄內使用目錄結構-src / main / resources / com / vipin / dao。

src / main / java目錄是Java類的首選目錄。

如果要從eclipse調試,請確保將文件夾添加到項目的類路徑中。

<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
   <attributes>
      <attribute name="maven.pomderived" value="true"/>
   </attributes>
</classpathentry>

如果使用maven原型創建maven項目並將其導入eclipse,則需要編輯.classpath文件。

您必須在main方法中正確初始化應用程序上下文。 例如,您可以檢查此鏈接

將xml文件放在類路徑的根目錄下

對於目錄為src/main/resources/ maven,請創建該目錄。

src/main/resources/applicationContext.xml

src / main / resources / spring /也可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM