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

怎样做网站公司seo网站首页推广

怎样做网站公司,seo网站首页推广,网站建设的工作描述,稻壳ppt模板免费下载一、Spring Framework 1. IoC容器:依赖管理 Spring的核心是控制反转(IoC),它通过容器管理对象的生命周期和依赖关系。以ApplicationContext为例,其初始化过程涉及Bean定义的加载、解析和实例化: // Bean定…

一、Spring Framework

1. IoC容器:依赖管理

        Spring的核心是控制反转(IoC),它通过容器管理对象的生命周期和依赖关系。以ApplicationContext为例,其初始化过程涉及Bean定义的加载、解析和实例化:

// Bean定义加载过程
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
context.register(AppConfig.class); // 注册配置类
context.refresh(); // 触发BeanFactory的初始化
UserService userService = context.getBean(UserService.class); // 获取Bean

refresh()方法调用AbstractApplicationContext中的obtainFreshBeanFactory(),触发BeanFactory的创建,随后通过BeanPostProcessor对Bean进行增强。

        在Spring框架中,BeanPostProcessor是用于干预Bean创建过程的核心接口。其增强机制主要体现在两个关键阶段:

  1. 初始化前增强 通过实现postProcessBeforeInitialization方法,在Bean的以下生命周期节点介入:
    public Object postProcessBeforeInitialization(Object bean, String beanName) {// 可在此处修改Bean属性值if(bean instanceof MyService) {((MyService)bean).setConfig(defaultConfig);}return bean;
    }

  2. 初始化后增强 通过postProcessAfterInitialization方法,在Bean完成初始化后进行处理。典型应用是创建AOP代理:
    public Object postProcessAfterInitialization(Object bean, String beanName) {if(bean.getClass().isAnnotationPresent(Transactional.class)) {return Proxy.newProxyInstance(...); // 生成事务代理}return bean;
    }

2. AOP:面向切面

        AOP通过动态代理实现日志、事务等通用逻辑的横向切入。以下是一个JDK动态代理的简化实现:

public class JdkDynamicProxy implements InvocationHandler {private Object target;public JdkDynamicProxy(Object target) { this.target = target; }@Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {System.out.println("Before method: " + method.getName());Object result = method.invoke(target, args);System.out.println("After method: " + method.getName());return result;}
}
// 使用代理
UserService proxy = (UserService) Proxy.newProxyInstance(UserService.class.getClassLoader(),new Class[]{UserService.class},new JdkDynamicProxy(new UserServiceImpl())
);

AOP的本质是分离,使得业务逻辑与系统服务(如事务)解耦。

3. 数据访问与事务管理

        Spring通过JdbcTemplate简化JDBC操作,其核心在于模板方法模式的应用:

public class JdbcTemplate {public <T> T query(String sql, ResultSetExtractor<T> extractor) {Connection con = DataSourceUtils.getConnection(dataSource);Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery(sql);return extractor.extractData(rs); // 回调处理结果集}
}

        事务管理则通过@Transactional注解与AOP结合,利用事务拦截器在方法调用前后开启/提交事务。

二、Spring Boot:约定大于配置

1. 自动装配:条件化Bean加载

        Spring Boot的自动装配基于@Conditional注解族实现。以DataSourceAutoConfiguration为例:

@Configuration
@ConditionalOnClass({DataSource.class, EmbeddedDatabaseType.class}) // 类路径存在时生效
@EnableConfigurationProperties(DataSourceProperties.class) // 绑定配置
public class DataSourceAutoConfiguration {@Bean@ConditionalOnMissingBean // 当用户未自定义DataSource时生效public DataSource dataSource(DataSourceProperties properties) {return properties.initializeDataSourceBuilder().build();}
}

启动流程SpringApplication.run()触发SpringFactoriesLoader加载META-INF/spring.factories中的自动配置类,通过条件判断决定是否生效。

    http://www.dtcms.com/wzjs/172970.html

    相关文章:

  1. 中小型网站建设服务家庭优化大师下载
  2. 石家庄市网站建设培训班广东深圳疫情最新情况
  3. 西藏建设厅官方网站网站优化建议
  4. 网站 售后服务搜索引擎培训班
  5. 做网站的工作时间恢复2345网址导航
  6. 做外贸网站的经验百度网址大全在哪里找
  7. 正品购物网站排行软文代写平台
  8. 有哪些做互联网项目的导航网站找客户的十大方法
  9. 盐城网站推广电话产品线上营销推广方案
  10. 网站建设收费标准百度竞价推广点击软件奔奔
  11. 金山建设机械网站最新域名查询ip
  12. 如何查看一个网站是用什么cms做的视频号视频下载助手app
  13. 网站 跳出率 多少网站优化外包价格
  14. 建立网站的程序俄罗斯搜索引擎
  15. htm5网站下载百度浏览器
  16. 做批发在哪个网站好百度平台推广该怎么做
  17. 苏州外贸网站制作免费个人自助建站
  18. 网站如何做关键词优化沈阳网络关键词排名
  19. 丽水市做网站的网络营销模式有哪几种
  20. 学生个人网页设计素材图片谷歌官方seo入门指南
  21. vue做网站前端2021年关键词排名
  22. 重庆便民服务网站APP引流推广网站平台
  23. 网站建设成果网络销售就是忽悠人
  24. freenom怎么做网站媒体公关
  25. 门户网站如何做性能测试推广专员是做什么的
  26. centos做网站谷歌网站
  27. 网站文件上传wordpress修改在运营中seo是什么意思
  28. 学院网站建设计划私域流量营销
  29. 网站建设验收条款seo推广人员
  30. 怎么做网站二级页面淘宝指数官网