IDEA按两下shift弹出search everywhere进行搜索快捷键
业务层service调用dao层就对了,也就是要把dao层组合进service层
业务层调用service层,但可以在上面添加其他操作,这些操作可以用spring横切进去搞定
pojo对应数据库实体类
dao+service=model层(数据和业务)
controller层调用service层
spring就是整合,整合dao和service,它就是一个大杂烩。
spring整合dao后(spring-dao),spring还要整合service层(spring-service)
三个框架整合(底层)
spring整合dao(spring-dao.xml)
spring整合service(spring-service.xml)
spring整合mvc(spring-mvc.xml)
spring-dao.xml:主要用到spring的IOC
<!--1.关联数据库配置文件-->
<context:property-placeholder location="classpath:database.properties"/>
<!--2.连接池
dpcp
c3p0
druid-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!-- c3p0连接池的私有属性 -->
<property name="maxPoolSize" value="30"/>
<property name="minPoolSize" value="10"/>
<!-- 关闭连接后不自动commit -->
<property name="autoCommitOnClose" value="false"/>
<!-- 获取连接超时时间 -->
<property name="checkoutTimeout" value="10000"/>
<!-- 当获取连接失败重试次数 -->
<property name="acquireRetryAttempts" value="2"/>
</bean>
<!--3.sqLSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!--绑定mybatis的配置文件-->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
<!--4.配置dao接口扫描包,动态的实现了dao接口可以注入到Spring容器中-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!--注入sqlSessionFactory-->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<!--要扫描的dao包-->
<property name="basePackage" value="com.kuang.dao"/>
</bean>
spring-service:主要用到spring的AOP
<!--1.扫描service下的包-->
<context:component-scan base-package="com.kuang.service"/>
<!--2.将我们所有业务类,注入到Spring,可以通过配置或者注解实现-->
<bean id="BookServiceImpl" class="com.kuang.service.BookServiceImpl">
<property name="bookMapper" ref="bookMapper"/>
</bean>
<!--3.声明式事务配置-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--注入数据源-->
<property name="dataSource" ref="dataSource"/>
</bean>
<!--4.aop事务支持-->
spring-mvc.xml
<!--1.注解驱动-->
<mvc:annotation-driven/>
<!--2.静态资源过滤-->
<mvc:default-servlet-handler/>
<!--3。扫描包:controller-->
<context:component-scan base-package="com.kuang.controller"/>
<!--4.视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp"/>
<property name="suffix" value=".jsp"/>
</bean>
访问顺序:人--前端--controller--Service--dao--数据库
开发流程:与访问顺序相反,即从下往上开发
第一个SSM整合案例:
数据库表
基本环境搭建(新建一Maven,添加web的支持,导入相关的pom依赖,Maven资源过滤设置,mybatis-config.xml
applicationContext.xml)
Mybatis层编写(数据库配置文件 database.properties,IDEA关联数据库,编写MyBatis的核心配置文件,编
写数据库对应的实体类 com.kuang.pojo.Books,编写Dao层的 Mapper接口,编写接口对应的
Mapper.xml 文件,编写Service层的接口和实现类)
至此,底层需求编写完毕
Spring层(配置Spring整合MyBatis,Spring整合Mybatis的相关的配置文件:spring-dao.xml,
Spring整合service层:spring-service.xml)
SpringMVC层(web.xml的DispatcherServlet+encodingFilter,spring-mvc.xml,Spring配置整合文
件:applicationContext.xml)
至此,配置结束,框架整合完了,以下进行Controller和视图层的编写(controller和jsp)
SSM框架的重要程度是不言而喻的,学到这里,大家已经可以进行基本网站的单独开发。
但是这只是增删改查的基本操作。可以说学到这里,大家才算是真正的步入了后台开发的门。
也就是能找一个后台相关工作的底线。后面还要学习一些 SpringMVC 的知识!
Ajax和Json
文件上传和下载
拦截器