【问题标题】:How to load Facebook property file in java using Spring and Hibernate如何使用 Spring 和 Hibernate 在 Java 中加载 Facebook 属性文件
【发布时间】:2015-06-11 21:08:00
【问题描述】:

我是 springhibernate 的新手。我正在尝试将我的 Web 应用程序与 Facebook 连接。我已经使用 Facebook 提供的 java 脚本完成了这项工作,但我想要使用 Spring Social 连接 Facebook。为此,我必须在scr/main/resource 文件夹下声明一个属性文件。我已经这样做了,但我没有使用任何 xml 文件。我有一个加载所有属性和Dao文件的类。我不知道加载Facebook的属性文件的方法。

我的Applicationconfig 班级是

    package net.codejava.spring.config;

import java.util.Properties;

import javax.sql.DataSource;

import net.codejava.spring.dao.UserDAO;
import net.codejava.spring.dao.UserDAOImpl;
import net.codejava.spring.model.User;

import org.apache.commons.dbcp2.BasicDataSource;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.orm.hibernate4.HibernateTransactionManager;
import org.springframework.orm.hibernate4.LocalSessionFactoryBuilder;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

@Configuration
@ComponentScan("net.codejava.spring")
@EnableTransactionManagement
public class ApplicationContextConfig {
    @Bean(name = "viewResolver")
    public InternalResourceViewResolver getViewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setPrefix("/WEB-INF/views/");
        viewResolver.setSuffix(".jsp");
        return viewResolver;
    }


    @Bean(name = "dataSource")
    public DataSource getDataSource() {
        BasicDataSource dataSource = new BasicDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/testing");
        dataSource.setUsername("root");
        dataSource.setPassword("4261");

        return dataSource;
    }


    private Properties getHibernateProperties() {
        Properties properties = new Properties();
        properties.put("hibernate.show_sql", "true");
        properties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
        return properties;
    }
    /*private Properties getFacebookProperties(){
        Properties properties = new Properties();
        properties.put("spring.social.facebook.appId", "809280815833386");
        properties.put("spring.social.facebook.appSecret","24035c462c9d1fca367ff813436b15d8");

        return properties;
    }*/

    @Autowired
    @Bean(name = "sessionFactory")
    public SessionFactory getSessionFactory(DataSource dataSource) {
        LocalSessionFactoryBuilder sessionBuilder = new LocalSessionFactoryBuilder(dataSource);
        sessionBuilder.addProperties(getHibernateProperties());
        sessionBuilder.addAnnotatedClasses(User.class);
        return sessionBuilder.buildSessionFactory();
    }

    @Autowired
    @Bean(name = "transactionManager")
    public HibernateTransactionManager getTransactionManager(
            SessionFactory sessionFactory) {
        HibernateTransactionManager transactionManager = new HibernateTransactionManager(
                sessionFactory);

        return transactionManager;
    }

    @Autowired
    @Bean(name = "userDao")
    public UserDAO getUserDao(SessionFactory sessionFactory) {
        return new UserDAOImpl(sessionFactory);
    }
}

我的application.properties 文件是

 spring.social.facebook.appId=appId
spring.social.facebook.appSecret=appSecret

请提供解决方案

【问题讨论】:

    标签: java facebook spring hibernate properties


    【解决方案1】:

    你可以这样做:

     @Configuration
        @ComponentScan("net.codejava.spring")
        @EnableTransactionManagement
        @PropertySource("classpath:application.properties")
        public class ApplicationContextConfig {
        @Value("${spring.social.facebook.appId}")
            private String facebookAppID;
        }
    

    【讨论】:

    • @xrcwrn aapSecret 呢
    • @Value("${spring.social.facebook.appSecret}") 私有字符串 facebookAppSecret;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-06
    • 2015-09-15
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    相关资源
    最近更新 更多