当前位置: 首页 > wzjs >正文

网站开发技术大学教材惠州网站建设 鑫

网站开发技术大学教材,惠州网站建设 鑫,g3云网站,网站404页面源码了解:分层架构包括:表现层(Controller层),业务逻辑层(Service层),数据访问层(Dao层) 每个层只关注特定的功能: 表现层:专注于用户界…

了解:分层架构包括:表现层(Controller层),业务逻辑层(Service层),数据访问层(Dao层)

每个层只关注特定的功能:

  • 表现层:专注于用户界面和 HTTP 处理。

此处不涉及用户端,不需要controller,直接模拟APP调用Service:

import Service.BookService;
import Service.impl.BookServiceImpl;public class APP {public static void main(String[] args) {BookService bookservice=new BookServiceImpl();bookservice.save();}
}

  • Service 层:专注于业务逻辑,不关心数据存储细节。
//接口
package Service;public interface BookService {void save();}

 

//实现类
package Service.impl;import Dao.BookDao;
import Dao.impl.BookDaoImpl;
import Service.BookService;public class BookServiceImpl implements BookService {BookDao bookdao=new BookDaoImpl();public void save(){System.out.println("book service save");bookdao.save();}
}
  • DAO 层:专注于数据访问,不关心业务规则
package Dao;public interface BookDao {void save();
}

 

package Dao.impl;import Dao.BookDao;public class BookDaoImpl implements BookDao {public void save(){System.out.println("Book  Dao  Impl.save");}
}

用户请求(Web) → Controller接收请求 → Service验证业务规则(如用户名是否存在) → DAO查询数据库 → Service调用DAO保存用户 → Controller返回响应

一.IOC入门案例

(1)要进行IOC容器管理(将创建对象的权限交给SpringBoot容器管理),需要:

1.管理什么?(Service 和Dao)

2.通过配置文件,告诉容器哪些类需要管理

3.将对象交给IOC容器管理后,如何获得IoC容器? (通过接口)

4.IoC容器获得后,如何从容器中获得Bean? (接口方法,即接口的实现类)

具体实现:已经写好基础的调用Service,Dao后:

1.pom文件导入包spring,新增一个配置文件applicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>beaProject</artifactId><version>1.0-SNAPSHOT</version><dependencies><!-- 修正Spring Context依赖的groupId --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.10.RELEASE</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties></project>

2.在配置文件中配置对应的bean

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--2编写配置文件:注意配置的是实现类不是接口通过id给他起别名,方便取的时候指定是哪一个BeanClass 表示给Bean定义类型--><bean id="bookDao1" class="Dao.impl.BookDaoImpl"></bean><bean id="Service1" class="Service.impl.BookServiceImpl"></bean></beans>

3.通过接口 获取IOC容器,4.通过容器获取bean 将需要调用的Bean的id作为参数传入

import Dao.BookDao;
import Service.BookService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class App2 {public static void main(String[] args) {
//        3获取容器//需要将配置文件作为参数告诉接口ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");//        4.通过容器获取bean  将需要调用的Bean的id作为参数传入BookDao bookdao=(BookDao) ctx.getBean("bookDao1");bookdao.save();BookService bookService=(BookService)ctx.getBean("Service1");//多态写法bookService.save();}
}

二.DI入门案例

问题:上面的Service层中还是通过自己创建Dao中对象的方式,没有实现完全解耦:  BookDao bookdao=new BookDaoImpl();

解决:DI注入

1.Service中需要的Dao对象如何进入到Service中  (提供方法)

2.Service和Dao间的关系如何描述?(通过配置指明)

还是在上面IoC容器的步骤上继续修改:

5.删除业务层中使用new方式创建Dao对象的代码:

6.提供Set方法,方便传入对象

package Service.impl;import Dao.BookDao;
import Service.BookService;public class BookServiceImpl implements BookService {
//    5.删除业务层中使用new方式创建Dao对象的代码
//    BookDao bookDao=new BookDaoImpl();private BookDao bookDao;public void save(){System.out.println("book service save");bookDao.save();}//6.提供Set方法,方便传入对象public void setBookDao(BookDao bookDao){ //注意:需要使用正确的驼峰命名法,才能被正确识别set要小写,其他的开头大写this.bookDao=bookDao;}
}

7.在配置中指定Service 与Dao关系 (因为是Service中调用Dao所以在Dao中配置)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--2编写配置文件:注意配置的是实现类不是接口通过id给他起别名,方便取的时候指定是哪一个BeanClass 表示给Bean定义类型--><bean id="bookDao1" class="Dao.impl.BookDaoImpl"></bean><bean id="Service1" class="Service.impl.BookServiceImpl"><!--配置Service 与Dao关系 (因为是Service中调用Dao所以在Dao中配置)--><property name="bookDao" ref="bookDao1"/> <!--注意区分:name中指定的是Service中的属性,而ref中指定的是Bean的id名--></bean></beans>


文章转载自:

http://C4UXh6vv.ymqfx.cn
http://6Xtmp76p.ymqfx.cn
http://hlUjjcIQ.ymqfx.cn
http://38CP347F.ymqfx.cn
http://QJLXs7Xd.ymqfx.cn
http://il7GN5bn.ymqfx.cn
http://zSUuiKc5.ymqfx.cn
http://3K3i8jDV.ymqfx.cn
http://XNUFBALY.ymqfx.cn
http://iBAXwhQP.ymqfx.cn
http://nbDNdlj3.ymqfx.cn
http://X14Tciwz.ymqfx.cn
http://bYBc87X6.ymqfx.cn
http://iWmkFRpF.ymqfx.cn
http://iQepX8rZ.ymqfx.cn
http://1AdljWEK.ymqfx.cn
http://Mks10gbk.ymqfx.cn
http://gohuDTNM.ymqfx.cn
http://w4IjwzwV.ymqfx.cn
http://AmODba22.ymqfx.cn
http://flUfLVXq.ymqfx.cn
http://jjbiroDV.ymqfx.cn
http://dN1omNMp.ymqfx.cn
http://jb6Ai1B0.ymqfx.cn
http://ZmqK8RlW.ymqfx.cn
http://uorsTvAm.ymqfx.cn
http://BjznBViR.ymqfx.cn
http://2JLfZySn.ymqfx.cn
http://RMH28dSZ.ymqfx.cn
http://mYwlE9rN.ymqfx.cn
http://www.dtcms.com/wzjs/671692.html

相关文章:

  • 学校网站的建设目标是什么学编程先学什么
  • 《php网站开发》课程资料网站的ns记录
  • 自己做网站能否赚钱红花岗区住房和城乡建设局网站
  • 制作小程序网站源码破解php网站后台账号密码
  • 网站建设结束语asp做网站步骤
  • 企业网站不付服务费应该怎么做吴江住宅城乡建设局网站
  • 衡水网站优化线上网络平台推广
  • 邢台做移动网站的地方龙岩推广公司
  • 培训网站官网html静态网页制作成品
  • 潍坊点睛做网站怎么样网站建设用阿里云的虚拟主机
  • 大兴安岭网站推广霸气又聚财的名字大全
  • 广州网站开发设计平台给公司建立网站不可以做到的
  • 科技企业网站建设模板使用c 语言建设网站优点
  • 珠海市网站开发公司电话知识付费微网站开发
  • 设计网站实现PDF在线阅读需要怎么做鸿邑科技 网站建设
  • 网站动图是怎么做的社区网站建设论文
  • 佛山网站建设联系c语言软件开发和网站开发区别
  • 水果电子商务网站建设规划书手机域名解析错误怎么解决
  • 网站负责人半身照wordpress 网站地址
  • 竞价恶意点击器网站优化 情况
  • 珠海做网站专业公司网站备案号查电话号码
  • 个人电脑做网站服务器镇江属于哪里
  • wordpress加上预约系统seo服务标准
  • 免费推广网站有哪些有哪些初中文凭怎么自考大专
  • 网站欢迎页面设计手机网站建设培训
  • 中国建设部网站能查叉车证网站设计的资质叫什么
  • 赣州市做网站设计一个正规平台维护多久
  • 网站 易用性原则银川网站设计联系电话
  • 黑白摄影网站php驾校网站源码
  • 中小企业建站系统php游戏网站建设