spring 4 注解方式添加数据源

来源:互联网 发布:农民网络电视台直播 编辑:程序博客网 时间:2024/05/23 02:02

@EnableTransactionManagement 开启事情注解

@EnableJpaRepositories 开启jpa

 

@Configurable@EnableTransactionManagement@EnableJpaRepositories(basePackages="spittr.repository",includeFilters={@ComponentScan.Filter(type=FilterType.REGEX, pattern=".*.*JpaRepo")})public class DataSourceConfigDataSource{    @Profile("dev")    @Bean    public DataSource Data() {        System.out.println("初始化 数据库连接池....");        BasicDataSource ds = new BasicDataSource();        ds.setDriverClassName("com.mysql.jdbc.Driver");        ds.setUrl(                "jdbc:mysql://192.168.173.224:3306/test?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8");        ds.setUsername("root");        ds.setPassword("mysql");        ds.setInitialSize(5);        ds.setMaxIdle(10);        return ds;    }    @Bean    public JdbcTemplate jdbcTemplate(DataSource dataSource) {        return new JdbcTemplate(dataSource);    }    @Bean    public SpitterRepository spitterRepository(JdbcTemplate jdbcTemplate) {        return new JdbcSpitterRepository(jdbcTemplate);    }    //    @Bean//    public SpitterRepository spitterRepository(LocalSessionFactoryBean sessionFactory) {//        return new HibernateSpittrRepository((SessionFactory) sessionFactory);//    }        @Bean    public LocalSessionFactoryBean sessionFactory(DataSource dataSource) {        LocalSessionFactoryBean sfb = new LocalSessionFactoryBean();        sfb.setDataSource(dataSource);        sfb.setPackagesToScan("spittr.vo");        Properties props = new Properties();        props.setProperty("dialect", "org.hibernate.dialect.MySQL5InnoDBDialect");        sfb.setHibernateProperties(props);        return sfb;    }        @Bean    public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource,JpaVendorAdapter jpaVendorAdapter){        LocalContainerEntityManagerFactoryBean emfb = new LocalContainerEntityManagerFactoryBean();        emfb.setDataSource(dataSource);        emfb.setJpaVendorAdapter(jpaVendorAdapter);        emfb.setPackagesToScan("spittr.vo");        return emfb;    }    @Bean    public JpaVendorAdapter jpaVendorAdapter(){        HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();        adapter.setShowSql(true);        adapter.setGenerateDdl(false);        adapter.setDatabasePlatform("org.hibernate.dialect.MySQL5InnoDBDialect");                return adapter;    }    //    @Bean//    public JndiObjectFactoryBean entityManagerFactory(){//        JndiObjectFactoryBean jndiObjectFB = new JndiObjectFactoryBean();//        jndiObjectFB.setJndiName("jdbc/SpittrDS");//        return jndiObjectFB;//    }        @Bean    public JpaTransactionManager transactionManager(EntityManagerFactory emf){        JpaTransactionManager transactionManager = new JpaTransactionManager();        transactionManager.setEntityManagerFactory(emf);        return  transactionManager;    }////    @Override//    public PlatformTransactionManager annotationDrivenTransactionManager() {//        return transactionManager((EntityManagerFactory) entityManagerFactory(Data(),jpaVendorAdapter()));//    }}


 

1 0
原创粉丝点击