2021年4月28日:
JavaBean 标准:Java软件的最小粒子应该是JavaBean private 属性、getter、setter方法
企业级Javabean:JBoss—EJB==Enterprise JavaBean JavaBean的基础上 + (控件器)业务逻辑(不易于维护)
MVC框架:【代码量增加了,但是提高了可维护性。】
!!实际建立的包: com.hzyc.controller com.hzyc.model(pojo把这个东西替代了,所有没有model包)!!交给springmvc.xml来控制。。。 【1】需要在web.xml中注册(org.springframework.web.servlet.DispatcherServlet) 需要注册一个分发Servlet(服务器端应用程序 server applet) 【2】springmvc的核心配置文件: org.springframework.web.servlet. Url处理映射器: handler.SimpleUrlHandlerMapping 控制处理适配器: mvc.SimpleControllerHandlerAdapter 视图解析器: view.InternetResourceViewResolver 【】使用注解扫描 <context:component-scan base-package="com.hzyc.controller" />
applicationContext.xml做好了数据源的Dao层,还有一些业务逻辑没有写,我们使用扫描器扫描出service进而管理。
【**】实际建立的包: com.hzyc.service 【**】applicationContext.xml 【0】自己的事(业务逻辑) <context:component-scan base-package="com.hzyc.service" /> 【1】代理了Mybatis的数据源 <context:property-placeholder location="classpath:db.properties" /> <bean id="ds123" class="org.springframework.jdbc.datasouce.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> 【2】代理Mybatis的会话工厂(SqlSessionFactory) <bean id="ssf456" class="org.mybatis.spring.SqlSessionFactoryBean" > <property name="dataSource" ref="ds123" /> <property name="configLocation" value="classpath:sqlMapperConfig.xml" /> </bean> 【2.1】由于代理了Mybatis的功能,需要把mapper(dao)扫入 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.hzyc.dao" /> 【3】使用监听器,在软件项目(工程)启动的时候,就加载spring核心配置文件 <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> 需要配置他的位置(指向applicationContext.xml这个文件)
(持久化)—— 备份的功能(数据闪回)—— POJO(纯JavaBean)
这是一个纯装载sql映射的文件,也就是老mybatis文件
【**】实际建立的包: com.hzyc.dao( !!mapper包存映射xml文件) com.hzyc.pojo sqlMapperConfig.xml(替代原来的mybatis-config.xml) <settings> lazyLoadingEnabled true aggressiveLazyLoading false cacheEnabled true <typeAliases> <package name="com.hzyc.pojo" /> <mappers> <mapper resource=".../.../映射文件.xml" >
1 | 2 |
---|---|
springmvc.xml | 使用注解扫描;<context:component-scan base-package=“controller包” / |
applicationContext.xml | ①先处理业务逻辑(service),扫描的是service的包;使用扫描器去扫描单独配置的bean来扫描interface接口上面注解的对应方法,属性里面配置basePackage对应的包 ②数据源 ③上下文加载监听器 |
sqlMapperConfig.xml | 对所有的POJO基本模型起小名 |
AWT – swing – SWT – Jface – RCP(第5代图形界面) == 》不易维护
view 视图 | (用户直接可见的)—— web前端工程师(UI==处理用户接口) |
Controller 控制器 | (选择一个合适的模型,把用户的数据封装起来)—— Model(有了数据) |
service 业务逻辑层 | (算法)—— 数据加工(response) |
dao 数据访问层 | (持久化)—— 备份的功能(数据闪回)—— POJO(纯JavaBean) |
首先是xmlns:XML命名空间:配置几个spring组件:beans,xsi、上下文,mvc,因为这个是控制层
多种配置位置
我们再回忆一下xsi.schemaLocation == 定义了命名空间和 【XMLSchema定义文件】 的对应关系 ==
XML Schema是对XML的树形构造加以描述说明的一种语言。而XSD就是一个定义文件。
基本的beans配置完成,我们要进行springmvc处理的业务配置:
扫描controller包:component-scan base-package=“对应的controller包”
【web中配置】
前面是各种xmlns的beans表头配置 <context:component-scan base-package="com.pty.controller" />
简单配置完基本的bean之后,
sqlSessionFactory
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd"> <context:component-scan base-package="com.pty.service" /> <context:component-scan base-package="com.pty.controller" /> <context:property-placeholder location="classpath:db.properties" /> <bean id="datasource111" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="DriverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="datasource111" /> <property name="configLocation" value="classpath:config/sqlMapperConfig.xml" /> bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.pty.pojo" /> bean>beans>
配置jdbc
键值对的对应关系 eg:jdbc.xx = xx
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <welcome-file-list> <welcome-file>index.jspwelcome-file> welcome-file-list> <listener> <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class> listener> <context-param> <param-name>contextConfigLocationparam-name> <param-value>classpath:config/applicationContext.xmlparam-value> context-param> <servlet> <servlet-name>springMVCservlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class> <init-param> <param-name>contextConfigLocationparam-name> <param-value>classpath:config/springmvc.xmlparam-value> init-param> servlet> <servlet-mapping> <servlet-name>springMVCservlet-name> <url-pattern>*.dourl-pattern> servlet-mapping> <filter> <filter-name>encodingfilter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class> <init-param> <param-name>encodingparam-name> <param-value>utf-8param-value> init-param> filter> <filter-mapping> <filter-name>encodingfilter-name> <url-pattern>/*url-pattern> filter-mapping>web-app>
除此之外,我们还应该知道config里面有啥文件,有的是spring的核心文件、sqlMapping持久层配置文件、springmvc配置文件用于处理请求转发的核心配置。
这个部分较为简单,所以略过。。。