在学习ssm框架的时候我们学习了spring的IOC容器原理,学习完springboot后我们一共会接触三种方式来管理bean
第一种:XML的方式管理bean
这种方式需要我们在项目中增加一个xml格式的配置文件,在配置文件里面通过<bean>
标签来管理bean。
示例代码:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--
在spring环境中管理bean
-->
<bean id="accountDao" class="com.hjm.dao.impl.AccountDaoImpl"></bean>
<bean id="accountService" class="com.hjm.dao.impl.AccountDaoImpl"></bean>
</beans>
第二种:通过注解的方式管理bean
使用注解管理bean意味着我们不用再创建xml文件,而是通过在要管理的类上面加上对应的注解,使其交给IOC容器管理,大大减少了我们的工作量,不过需要开启包扫描。标注了@Component和@Component的衍生注解如@Controller,@Service,@Repository就可以把当前的Bean加入到IOC容器中,包扫描的注解是@ComponentScan
package com.hjm.service.impl;
import com.hjm.service.UserService;
import org.springframework.stereotype.Service;
@Service //将该类交给IOC容器管理
public class UserServiceImpl implements UserService {
@Override
public void findAll() {
System.out.println("查询用户的方法");
}
@Override
public void addUser() {
System.out.println("增加用户的方法");
}
@Override
public void updateUser() {
System.out.println("修改用户的方法");
}
@Override
public void deleteUser() {
System.out.println("删除用户的方法");
}
}
第三种:配置类管理bean
写一个配置类来管理bean
package com.hjm.config;
import com.hjm.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration //标识当前是一个配置类 作用类似于spring里面的xml配置文件
public class MyConfig {
@Bean(name = "user1") //类似bean标签,默认bean的id就是方法的名称
public User user(){
return new User();
}
}