96SEO 2026-02-20 02:04 0
。

程序运行时需要某个资源此时容器就为其提供这个资源.从这点来看,
依赖注入DI和控制反转IoC是从不同的角度的描述的同⼀件事情就是指通过引入
比如说我今天心情比较好吃一顿好的犒劳犒劳自己那么吃一顿好的是思想和目标是IoC但最后我是吃海底捞还是杨国福这就是具体的实现就是
类注解Controller、Service、Repository、Component、Configuration.
sayHi(){System.out.println(hi,UserController...);}
{//获取Spring上下⽂对象ApplicationContext
SpringApplication.run(SpringIocDemoApplication.class,
args);//从Spring上下⽂中获取对象UserController
context.getBean(UserController.class);//使⽤对象userController.sayHi();}}ApplicationContext
比如我们应用进行线程切换的时候切换前都会把线程的状态信息暂时储存起来这里的上下文就包括了当前线程的信息等下次该线程又得到CPU时间的时候,
com.example.demo.controller.UserController的bean
这些规则与java.beans.Introspector.decapitalize
{//获取Spring上下⽂对象ApplicationContext
SpringApplication.run(SpringIocDemoApplication.class,
args);//从Spring中获取UserService对象UserService
context.getBean(UserService.class);//使⽤对象userService.sayHi();}
{//获取Spring上下⽂对象ApplicationContext
SpringApplication.run(SpringIocDemoApplication.cla//从Spring上下⽂中获取对象UserRepository
context.getBean(UserRepository.class);//使⽤对象userRepository.sayHi();}
{//获取Spring上下⽂对象ApplicationContext
SpringApplication.run(SpringIocDemoApplication.class,
args);//从Spring上下⽂中获取对象UserComponent
context.getBean(UserComponent.class);//使⽤对象userComponent.sayHi();}
{System.out.println(Hi,UserConfiguration~);}}读取
{//获取Spring上下⽂对象ApplicationContext
SpringApplication.run(SpringIocDemoApplication.class,
args);//从Spring上下⽂中获取对象UserConfiguration
context.getBean(UserConfiguration.class);//使⽤对象userConfiguration.sayHi();}
发现成功从Spring中获取到UserConfiguration
处理具体的业务逻辑.Repository数据访问层也称为持久层.
但是为什么还需要设置不同的车牌开头呢.比如陕西的车牌号就是陕XXXXXXX北京的车牌号京XXXXXXX甚至一个省不同的县区也是不同的比如西安就是陕AXXXXX咸阳陕BXXXXXX宝鸡陕CXXXXXX一样.这样做的好处除了可以节约号码之外更重要的作用是可以直观的标识一辆车的归属地.
User();user.setName(zhangsan);user.setAge(18);return
{//获取Spring上下⽂对象ApplicationContext
SpringApplication.run(SpringIocDemoApplication.class,
context.getBean(User.class);//使⽤对象System.out.println(user);}
User();user.setName(zhangsan);user.setAge(18);return
User();user.setName(zhangsan);user.setAge(18);return
User();user.setName(李四);user.setAge(20);return
main(String[]//获取Spring上下⽂对象ApplicationContext
SpringApplication.run(SpringIocDemo//从Spring上下⽂中获取对象User
context.getBean(U//使⽤对象System.out.println(user);}
{//获取Spring上下⽂对象ApplicationContext
SpringApplication.run(SpringIocDemoApplication.class,
context.getBean(user2);System.out.println(user1);System.out.println(user2);}}运行结果:
User();user.setName(zhangsan);user.setAge(18);return
{//获取Spring上下⽂对象ApplicationContext
SpringApplication.run(SpringIocDemoApplication.class,
context.getBean(u1);//适用对象System.out.println(u1);}}2.3.4
main(String[]//获取Spring上下⽂对象ApplicationContext
SpringApplication.run(SpringIocDemo//从Spring上下⽂中获取对象User
context.getB//使⽤对象System.out.println(u1);}
ComponentScan({com.example.demo})
{//获取Spring上下⽂对象ApplicationContext
SpringApplication.run(SpringIocDemoApplication.class,
context.getBean(u1);//使⽤对象System.out.println(u1);}}默认扫描的范围是SpringBoot启动类所在包及其子包
org.springframework.stereotype.Service;
{System.out.println(Hi,UserService);}
sayHi(){System.out.println(hi,UserController...);userService.sayHi();}
{//获取Spring上下⽂对象ApplicationContext
SpringApplication.run(SpringIocDemoApplication.class,
args);//从Spring上下⽂中获取对象UserController
context.getBean(userController);//使⽤对象userController.sayHi();}}最终运行结果:
sayHi(){System.out.println(hi,UserController2...);userService.sayHi();}
sayHi(){System.out.println(hi,UserController3...);userService.sayHi();}
可以注入final修饰的属性注入的对象不会被修改依赖对象在使用前一定会被完全初始化因为依赖是在类的构造方法中执行的而构造方法是在类加载阶段就会执行的方法.通⽤性好,
User();user.setName(zhangsan);user.setAge(18);return
User();user.setName(lisi);user.setAge(19);return
userService;//注⼊userAutowiredprivate
sayHi(){System.out.println(hi,UserController...);userService.sayHi();System.out.println(user);}
使用Primary注解当存在多个相同类型的Bean注入时加上Primary注解来确定默认的实现.
在Qualifier的value属性中指定注入的bean的名称。
Qualifier注解不能单独使⽤必须配合Autowired使⽤
使用Resource注解是按照bean的名称进行注入。
通过name属性指定要注入的bean的名称。
是spring框架提供的注解而Resource是JDK提供的注解Autowired
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback