2017-03-24 10 views
-1

私が使用し、スプリングを設定するには、XML設定を使用せずに、スプリングとJSFを統合する:HibernateとJSF春のためにspringでjsfを使用している場合@RequestMappingはfaces-config.xmlを置き換えますか?

public class SpringWebAppInitializer implements WebApplicationInitializer { 

@Override 
public void onStartup(ServletContext servletContext) throws ServletException { 
    AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext(); 
    appContext.register(ApplicationContextConfig.class); 

    ServletRegistration.Dynamic dispatcher = servletContext.addServlet(
      "SpringDispatcher", new DispatcherServlet(appContext)); 
    dispatcher.setLoadOnStartup(1); 
    dispatcher.addMapping("/"); 

} 

とApplicationContextConfig:

public class ApplicationContextConfig { 
@Bean(name = "viewResolver") 
public InternalResourceViewResolver getViewResolver() { 
    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); 
    viewResolver.setPrefix("/WEB-INF/views/"); 
    viewResolver.setSuffix(".jsf"); 
    return viewResolver; 
} 

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

    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; 
} 


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




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

    return transactionManager; 
} 

しかし、今、私は設定する必要がありますfaces-config.xmlでは、コントローラを作成し、@RequestMappingアノテーションを使用してページをマップすることが考えられますが、何か不足しているようです。 その解決策はfaces-config.xmlを置き換えることができますか、またはそのファイルのjava設定がありますか?あなたはまた、以下のようなものでJSFのFacesサーブレットを設定する必要が

答えて

0

再び
ServletRegistration.Dynamic facesServlet = servletContext.addServlet("facesServlet", new FacesServlet()); 
facesServlet.setLoadOnStartup(1); 
facesServlet.addMapping("*.xhtml"); 

、ここにあなたがJSFを使用したい場合は、顔-config.xmlが使用する必要があります。注釈型のManaged BeanとJSFの暗黙的なナビゲーションを使用できますが、Springではrequestmappingなどはありません。

@RequestMappingを使用する場合は、Spring MVCで利用できます.JSFを使用する理由がない限り、コンポーネントベースのフレームワークではありませんが、Spring MVCを参照することをおすすめします。

+0

JSFの暗黙的なナビゲーションを使用すると、faces-config.xmlを使用する必要があります。 – Ilyasse

+0

JSFを使用する場合、faces-configファイルは必要です。これは基本的な設定ファイルです。あなたは暗黙のナビゲーションと@ManagedBeanアノテーションを使うことができますが、faces-configファイルにはいくつかの基本的な設定があります。 – Tejas

関連する問題