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

石排做网站人力资源管理师报名时间2022年

石排做网站,人力资源管理师报名时间2022年,室内设计培训网站,临湘市网站Spring框架是一个全功能的企业级Java应用开发框架#xff0c;它提供了广泛的功能#xff0c;包括依赖注入、面向切面编程、事务管理等。在Spring的实现中#xff0c;使用了多种设计模式来实现这些功能#xff0c;以提高代码的可维护性、可扩展性和灵活性。本文将深入讨论Sp…Spring框架是一个全功能的企业级Java应用开发框架它提供了广泛的功能包括依赖注入、面向切面编程、事务管理等。在Spring的实现中使用了多种设计模式来实现这些功能以提高代码的可维护性、可扩展性和灵活性。本文将深入讨论Spring框架中使用的一些主要设计模式。 1. 单例模式Singleton Pattern 单例模式是一种创建型设计模式其主要目的是确保类只有一个实例并提供一个全局访问点。在Spring中Bean的默认作用域就是单例Singleton这意味着在整个应用程序中只有一个Bean实例由Spring容器负责管理。 单例模式可以确保在应用程序中只存在一个共享的实例从而节省资源并提高性能。在Spring中单例模式广泛应用于管理Bean例如Service层的业务逻辑组件、DAO层的数据访问组件等。 Service public class MyService {// ... }2. 工厂模式Factory Pattern 工厂模式是一种创建型设计模式它提供了一个创建对象的接口但允许子类决定实例化哪个类。在Spring中工厂模式通过Bean工厂来创建和管理Bean。 Spring中的Bean工厂例如ApplicationContext负责创建和配置Bean隐藏了具体实例化的细节使得应用程序更易于扩展和维护。工厂模式有助于将对象的创建和配置过程解耦提高了代码的可维护性。 Configuration public class AppConfig {Beanpublic MyService myService() {return new MyServiceImpl();} }3. 代理模式Proxy Pattern 代理模式是一种结构型设计模式它允许通过代理类控制对其他对象的访问。在Spring AOP面向切面编程中代理模式被广泛用于实现横切关注点的代码分离例如日志记录、事务管理等。 Spring通过动态代理和CGLIBCode Generation Library来实现代理模式。动态代理可以在运行时创建代理类而CGLIB可以在编译时生成代理类的字节码。 public interface MyService {void doSomething(); }public class MyServiceImpl implements MyService {public void doSomething() {// 实际业务逻辑} }public class MyServiceProxy implements MyService {private MyService target;// 构造函数注入目标对象public MyServiceProxy(MyService target) {this.target target;}public void doSomething() {// 在实际业务逻辑执行前后添加额外的操作System.out.println(Before calling doSomething());target.doSomething();System.out.println(After calling doSomething());} }4. 观察者模式Observer Pattern 观察者模式是一种行为型设计模式它定义了一种一对多的依赖关系使得当一个对象的状态发生改变时所有依赖它的对象都得到通知并自动更新。在Spring中事件驱动模型广泛使用了观察者模式。 Spring的事件机制允许应用程序中的组件发布和监听事件从而实现解耦和灵活性。通过观察者模式不同的组件可以对应用程序中发生的事件做出响应而不需要显式的调用。 Component public class EventPublisher {Autowiredprivate ApplicationEventPublisher eventPublisher;public void publishEvent(String message) {MyEvent customEvent new MyEvent(this, message);eventPublisher.publishEvent(customEvent);} }Component public class EventListener implements ApplicationListenerMyEvent {Overridepublic void onApplicationEvent(MyEvent event) {// 处理事件System.out.println(Received custom event: event.getMessage());} }5. 策略模式Strategy Pattern 策略模式是一种行为型设计模式它定义了一系列算法并将每个算法封装起来使它们可以互相替换。在Spring中策略模式常用于定义不同的Bean实现并根据需要在运行时动态切换它们。 Spring的Qualifier注解和Primary注解就是策略模式的一种应用它们允许开发者选择特定的Bean实现或者指定默认的实现。 public interface PaymentStrategy {void pay(); }Component Qualifier(creditCard) public class CreditCardPayment implements PaymentStrategy {public void pay() {// Credit card payment logic} }Component Qualifier(paypal) public class PaypalPayment implements PaymentStrategy {public void pay() {// Paypal payment logic} }Service public class ShoppingCart {private final PaymentStrategy paymentStrategy;Autowiredpublic ShoppingCart(Qualifier(paypal) PaymentStrategy paymentStrategy) {this.paymentStrategy paymentStrategy;}public void checkout() {// 其他购物车结算逻辑paymentStrategy.pay(); // 根据配置的策略执行支付} }6. 模板方法模式Template Method Pattern 模板方法模式是一种行为型设计模式它定义了一个算法的骨架将一些步骤推迟到子类中实现。在Spring中模板方法模式被广泛应用于定义一些基础设施的模板例如Spring中JdbcTemplate。 JdbcTemplate是Spring提供的用于简化JDBC操作的模板类它封装了一些常见的JDBC操作同时提供了回调机制允许开发者在执行SQL语句的过程中插入自定义的逻辑。这正是模板方法模式的应用。 public abstract class JdbcTemplate {public final void execute(String sql) {// 公共逻辑DataSource dataSource getDataSource();Connection connection dataSource.getConnection();try {// 子类实现的具体逻辑Statement statement connection.createStatement();statement.execute(sql);} catch (SQLException e) {// 异常处理逻辑e.printStackTrace();} finally {// 关闭资源逻辑connection.close();}}protected abstract DataSource getDataSource(); }public class MyJdbcTemplate extends JdbcTemplate {Overrideprotected DataSource getDataSource() {// 返回特定的数据源return new MyDataSource();} }7. 装饰器模式Decorator Pattern 装饰器模式是一种结构型设计模式它允许向一个对象添加新的行为而无需修改其代码。在Spring中AOP中的切面就是装饰器模式的一种应用它允许在不改变原有业务逻辑的情况下动态地添加新的功能。 public interface MyService {void doSomething(); }Service public class MyServiceImpl implements MyService {public void doSomething() {// 实际业务逻辑} }Aspect Component public class MyAspect {Before(execution(* com.example.MyService.doSomething(..)))public void beforeDoSomething() {// 在实际业务逻辑执行前添加额外的操作System.out.println(Before calling doSomething());} }8. 适配器模式Adapter Pattern 适配器模式是一种结构型设计模式它允许将一个类的接口转换成客户端期望的另一个接口。在Spring中适配器模式被用于适应不同的框架或技术使它们能够与Spring框架集成。 例如Spring的JpaVendorAdapter就是一个适配器它允许开发者在Spring应用中使用不同的JPA提供商如Hibernate、EclipseLink而不需要修改应用代码。 Configuration public class JpaConfig {Beanpublic LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder,DataSource dataSource) {return builder.dataSource(dataSource).packages(com.example.domain).persistenceUnit(myUnit).build();}Beanpublic JpaTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {return new JpaTransactionManager(entityManagerFactory);}Beanpublic JpaVendorAdapter jpaVendorAdapter() {HibernateJpaVendorAdapter adapter new HibernateJpaVendorAdapter();adapter.setShowSql(true);adapter.setGenerateDdl(false);adapter.setDatabase(Database.H2);return adapter;} }黑马程序员新版Spring零基础入门到精通一套搞定spring全套视频教程含实战源码 最后 Spring框架作为一个全功能的企业级Java应用开发框架巧妙地运用了多种设计模式包括但不限于单例模式、工厂模式、代理模式、观察者模式、策略模式、模板方法模式、装饰器模式和适配器模式。这些设计模式的使用使得Spring框架更具灵活性、可维护性和可扩展性同时提高了代码的可读性和可理解性。通过深入了解这些设计模式在Spring框架中的应用开发者可以更好地理解框架的设计思想从而更加高效地使用和扩展Spring框架。
http://www.pierceye.com/news/260683/

相关文章:

  • 珠宝网站策划书网页设计的毕业设计
  • 最经典最常用的网站推广方式什么做网站赚钱
  • 广州哪家做网站化妆品网站方案
  • cms开源网站管理系统北京网站建设策划解决方案
  • 洛阳做多屏合一网站最新款淘宝客源码整网站程序模板+后台带自动采集商品功能带文章
  • 宁国新站seo中国建筑网官网监理工程师网站
  • 自己建网站多少钱福州建设企业网站
  • 容桂佛山做app网站wordpress 搜索 任意
  • dw做单页网站教程盐城网站建设价位
  • 赤峰建设业协会的官方网站wordpress博客伪静态
  • 2016个人做淘宝客网站网站备案备注信息
  • 加盟招商推广网站怎么做网站的防盗链
  • 南阳网站关键词ppt在线浏览网站源码
  • 用vs2012做网站首页涉密网络建设
  • 个人主题网站设计seo技术论坛
  • 做venn图的网站网页设计期末考试作品
  • 中英文网站怎么做外贸SOHO建公司网站
  • 展馆门户网站建设广告片制作公司
  • 周至做网站的公司百度推广开户免费
  • 网站建设百度认证机场建设集团网站
  • 建设网站要多久的时间app软件小程序网站建设
  • 营销网站重要特点是网站建设运维方案
  • 江西网站定制公司丰润区建设局网站
  • 手机网站制作费用合肥优化推广公司
  • 中国建设银行注册网站采购与招标网
  • 扬州住房和建设局网站江油市规划和建设局网站
  • 网站使用问题上海seo优化
  • 私人订制网站有哪些网站建设千套素材
  • 网站建设晋丰北京网站建设及优化
  • 东莞网站制作南城电商网站模板