ssj框架集成

三大框架

ssh-------struts  spring  hibernate
ssm------SpringMVC Spring MyBatis
ssj--------Spring springMvc jpa

Spring集成JPA

需要的jar包

	<dependencies>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webartifactId>
            <version>4.2.5.RELEASEversion>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>
            <version>4.2.5.RELEASEversion>
        dependency>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-jdbcartifactId>
            <version>4.2.5.RELEASEversion>
        dependency>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-ormartifactId>
            <version>4.2.5.RELEASEversion>
        dependency>
        <dependency>
            <groupId>org.hibernategroupId>
            <artifactId>hibernate-coreartifactId>
            <version>4.3.8.Finalversion>
        dependency>
        <dependency>
            <groupId>org.hibernategroupId>
            <artifactId>hibernate-entitymanagerartifactId>
            <version>4.3.8.Finalversion>
        dependency>
        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>5.1.6version>
        dependency>
        
        <dependency>
            <groupId>commons-dbcpgroupId>
            <artifactId>commons-dbcpartifactId>
            <version>1.2.2version>
        dependency>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-testartifactId>
            <version>4.2.5.RELEASEversion>
        dependency>
        
        <dependency>
            <groupId>org.aspectjgroupId>
            <artifactId>aspectjweaverartifactId>
            <version>1.8.9version>
        dependency>
        
        <dependency>
            <groupId>com.fasterxml.jackson.coregroupId>
            <artifactId>jackson-databindartifactId>
            <version>2.6.5version>
        dependency>
		
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.11version>
            <scope>testscope>
        dependency>
    dependencies>

创建properties文件

	jdbc.driverClassName=com.mysql.jdbc.Driver
	jdbc.url=jdbc:mysql:///ssj
	jdbc.username=root
	jdbc.password=123456

配置applicationContext.xml文件

	
    <context:property-placeholder location="classpath:jdbc.properties">context:property-placeholder>
    
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="${jdbc.driverClassName}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
    bean>

配置entityManagerFactory(实体管理工厂)

	
    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        
        <property name="dataSource" ref="dataSource">property>
        
        <property name="packagesToScan" value="cn.itsource.ssj.domain">property>
        
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                
                <property name="showSql" value="true" />
                
                <property name="generateDdl" value="true" />
                
                <property name="databasePlatform" value="org.hibernate.dialect.MySQLDialect" />
            bean>
        property>
    bean>

配置组件扫描器

	<context:component-scan base-package="cn.itsource">context:component-scan>

声明式事务管理(注解版本)

事务:
	编程式事务 :通过程序写代码控制
    声明式事务: 注解就可以支持
  	事务一般是放到service层 dao层只专注于数据库操作
	
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory">property>
    bean>
    
    <tx:annotation-driven/>

@Transaction注解的使用

	@Service
	@Transactional(propagation = Propagation.SUPPORTS,readOnly = true)//事务传播机制 如果下面的方法 有事务 ,就使用事务运行 如果没有事务 就用非事务运行
	public class ProductServiceImpl implements IProductService {
     
	    @Autowired
	    private IProductDao productDao;
	
	    @Override
	    @Transactional// 默认事务配置
	    public void save(Product product) {
     
	        productDao.save(product);
	    }

Spring集成SpringMVC

配置web.xml


<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         id="WebApp_ID" version="3.1">

    <filter>
        <filter-name>characterEncodingFilterfilter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
        <init-param>
            <param-name>encodingparam-name>
            <param-value>UTF-8param-value>
        init-param>
        <init-param>
            <param-name>forceEncodingparam-name>
            <param-value>trueparam-value>
        init-param>
    filter>
    <filter-mapping>
        <filter-name>characterEncodingFilterfilter-name>
        <url-pattern>/*url-pattern>
    filter-mapping>

    <filter>
        <filter-name>openSessionfilter-name>
        <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilterfilter-class>
    filter>
    <filter-mapping>
        <filter-name>openSessionfilter-name>
        <url-pattern>/*url-pattern>
    filter-mapping>
	
    <context-param>
        <param-name>contextConfigLocationparam-name>
        <param-value>classpath:applicationContext.xmlparam-value>
    context-param>
    
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
    listener>
    
    <servlet>
        <servlet-name>dispatcherServletservlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
        <init-param>
            <param-name>contextConfigLocationparam-name>
            <param-value>classpath:applicationContext-mvc.xmlparam-value>
        init-param>
        <load-on-startup>1load-on-startup>
    servlet>
    
    <servlet-mapping>
        <servlet-name>dispatcherServletservlet-name>
        <url-pattern>/url-pattern>
    servlet-mapping>
web-app>

配置applicationContext.xml

	
    <context:component-scan base-package="cn.itsource.ssj.web.controller" />
    
    <mvc:default-servlet-handler />
    
    <mvc:annotation-driven />
    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    bean>

@ResponseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML

	取值方法
	<th data-options="field:'id',width:100">编码th>
    <th data-options="field:'name',width:100">名称th>

你可能感兴趣的:(ssj框架集成)