Spring-IOC
spring-ioc概念
IOC为spring的核心容器,用来创建、管理、存储组件
spring项目结构
1 pom.xml
2 properties
3 config
4 pojo
5 controller
6 service
7 mapper
spring依赖
<!--spring context依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>6.0.6</version> </dependency>
config 配置类
package com.demo.config; @Configuration // 标记该类为 Spring 配置类 @ComponentScan(basePackages = "com.demo") // 扫描指定包下的组件 @PropertySource("classpath:jdbc.properties") // 加载外部 properties / yml 到 Spring 项目中 public class JavaConfig { @Value("${demo.url}") // 获取properties / yml 中 demo.url 对应的配置值,赋值给下面变量 private String url; @Bean(destroyMethod = "close") // 把该方法返回的对象注册为 Spring 容器中的 Bean,能够被 Spring 管理和供其他组件依赖注入 public DruidDataSource dataSource(){ DruidDataSource dataSource = new DruidDataSource(); dataSource.setUrl(url); dataSource.setDriverClassName(driver); dataSource.setUsername(username); dataSource.setPassword(password); return dataSource; } @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) // 指定该Bean生命周期的范围 @Bean public JdbcTemplate jdbcTemplate(DataSource dataSource){ JdbcTemplate jdbcTemplate = new JdbcTemplate(); jdbcTemplate.setDataSource(dataSource); return jdbcTemplate; } }
常见作用域
singleton(默认)
整个 Spring 容器中只存在一个该 Bean 的实例,所有请求都共享这一个实例
prototype
每次从容器中获取该 Bean 时,都会创建一个新的实例
request(Web环境)
每个 HTTP 请求会创建一个新的 Bean 实例,仅在当前请求内有效
session(Web 环境)
每个用户会话(Session)创建一个 Bean 实例,在会话有效期内共享。
application(Web 环境)
整个 Web 应用生命周期内只存在一个实例,类似于 singleton,但作用域是
ServletContext 级别
bean方法属性
initMethod指定 Bean 初始化完成后执行的方法(初始化回调)
destroyMethod指定 Bean 销毁前执行的方法(销毁回调)
配置类导入IOC容器
package com.demo; public class SpringTest { @Autowired // 依赖注入,把项目内的类导入该类 private StudentController studentController; @Test public void testRun(){ AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(JavaCon

最低0.47元/天 解锁文章
167万+

被折叠的 条评论
为什么被折叠?



