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

深圳网站建设qwyx100wordpress宝塔安装

深圳网站建设qwyx100,wordpress宝塔安装,wordpress 新建主题,网络营销人员招聘信息一、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://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://00000000.wdwfm.cn
    http://www.dtcms.com/wzjs/602578.html

    相关文章:

  1. 网站关键字及说明如何查看一个网站是用什么程序做的
  2. 网站变灰代码 所有浏览器备案的时候需要网站吗
  3. 房产交易网站分类信息免费发布网
  4. 体育php网站源码wordpress速度优化存
  5. 动态手机网站怎么做的wordpress 博客主题推荐
  6. 网页制作与网站建设宝典 第2版广州公关公司招聘
  7. 推广网站的方法有莱芜吧贴吧 百度
  8. 重庆高端网站建设价格wordpress栏目页面
  9. 手机官方网站wordpress账户
  10. 做网站用什么后缀好唐山人才网
  11. 嵌入式网站开发js获取网站域名
  12. 网站后台 栏目管理wordpress朗读文章
  13. php .net做网站哪个好wordpress 更改icon
  14. 天津做网站的哪家好网站被同行链接代替
  15. 微信官方网站是多少钱4399小游戏大全网页版
  16. 为什么要用国外服务器做网站营销型网站建设哪里好
  17. 谷歌网站网址天津建设网站天津市地铁规划图
  18. 网站开发技术参数北京做软件开发的公司
  19. 弱电网站源码宝安区建设网站
  20. 如何制作企业内部网站做网站写的代号好跟不好的区别
  21. 免费手机网站源码网站的建设框架
  22. dw 做简单静态网站中文wordpress主题下载地址
  23. 广州网站设计成功柚米科技广告字体设计在线生成
  24. 做响应式网站的常用尺寸一般公路建设招投标在什么网站上
  25. 建设厅执业注册中心网站做网站资源
  26. 企业的网站公告怎么制作河北seo人员
  27. 备案ip 查询网站查询网站查询系统哈尔滨自助建站软件
  28. 网络运营和网站运营沈阳制作网站建站
  29. 如何使用手机看建设网站帮人做网站犯法
  30. 海口网站建设就q479185700上墙百度网盘电脑版登录入口