spring_boot入门
核心:
控制反转(Inversion of Control-IOC)和依赖注入(Dependency Injection-DI)
Spring中两者是相同的, 控制反转是用依赖注入实现的. 这里, 依赖注入的含义是外部容器负责创建对象和维护对象间的依赖关系, 而不在对象的内部维护.
具体在Spring中实现的有两种形式:
- 注解配置
容器是AnnotationConfigApplicationContext, 用来维护Application中的Bean的对象, 并根据注解的内容执行.
对于注解配置中类的声明:
@Component 组件, 没有明确的角色;
@Service 在业务逻辑(service层)使用;
@Repository 在数据访问层(dao层)使用;
@Controller 在展现层(MVC->SpringMVC)使用;
注入Bean的注解
@Autowired Spring提供的注解, 默认值;
@Inject JSR-330提供的注解;
@Resource JSR-250提供的注解;
用在set方法或者属性上.
- Java配置
在@Configuration修饰的Config类中, 利用@Bean来声明在容器中的Bean对象, 其他的对象不需要加注解.
Bean的Scope
Scope控制新建Bean. @Scope的值有以下几种:
== Singleton: == 一个Spring容器中只有一个Bean的实例, 是默认配置, 全容器共享.
== Prototype: == 每次调用新建一个实例
== Request: == Web项目中, 给每一个http request新建一个Bean实例
== Session: == Web项目中, 给每一个http session新建一个Bean实例
== GlobalSession: == 只在portal应用中有用, 给每一个global http session新建一个Bean实例