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实例
spring_boot入门的更多相关文章
- Spring_boot入门(1)
Spring boot 将很多东西都集成在一起了,搭建maven项目的时候只需要引入很少的依赖就可以实现项目的搭建. 1.搭建maven项目结构 2.引入Spring boot 依赖 直接去官网找就可 ...
- Git将本地库内容推送到远程
本地库与远程库的交互 1 .将本地库的内容推送到远程库 A.创建一个本地仓库 $ mkdir gitdemo B.初始化本地仓库 $ git init C.项目根目录下创建 .gitignore 文件 ...
- SpringBoot系列: RestTemplate 快速入门
====================================相关的文章====================================SpringBoot系列: 与Spring R ...
- SpringBoot学习(四)-->SpringBoot快速入门,开山篇
Spring Boot简介 Spring Boot的目的在于创建和启动新的基于Spring框架的项目.Spring Boot会选择最适合的Spring子项目和第三方开源库进行整合.大部分Spring ...
- SpringBoot入门及深入
一:SpringBoot简介 当前互联网后端开发中,JavaEE占据了主导地位.对JavaEE开发,首选框架是Spring框架.在传统的Spring开发中,需要使用大量的与业务无关的XML配置才能使S ...
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...
随机推荐
- 17.Identity Server 4回顾
openIdConnect做完之后,在登陆之后这个RequireConsent.用户同意授权这一步没有做直接跳过了,可以理解为我们自己比较信任的这种客户端 就是这个应用是属于我们自己的,都是我们自己配 ...
- ES6函数参数默认值作用域的模拟原理实现与个人的一些推测
一.函数参数默认值中模糊的独立作用域 我在ES6入门学习函数拓展这一篇博客中有记录,当函数的参数使用默认值时,参数会在初始化过程中产生一个独立的作用域,初始化完成作用域会消失:如果不使用参数默认值,不 ...
- C 语言实例 - 删除字符串中的特殊字符
C 语言实例 - 删除字符串中的特殊字符 C 语言实例 C 语言实例 删除字符串中的除字母外的字符. 实例 #include<stdio.h> int main() { ]; int i, ...
- shell学习(5)- sort
Linux sort命令用于将文本文件内容加以排序. sort可针对文本文件的内容,以行为单位来排序. 参数如下: -b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照顺序排序. -d 排 ...
- android 一些常用权限
<!-- 网络访问权限 --> <uses-permission android:name="android.permission.INTERNET" /> ...
- servlet小型应用服务器搭建通过tomcat发布web项目
1.servlet简介:Servlet 是一个 Java程序,是在服务器上运行以处理客户端请求并做出响应的程序 2.servlet的生命周期图解: 3.各阶段: 4.基本的servlet代码: pub ...
- 最大xor,and,or
http://210.33.19.103/contest/998 and,or部分 并不用01trie,题目&题解:https://blog.csdn.net/dreaming__ldx/ar ...
- 535 Encode and Decode TinyURL 编码和解码精简URL地址
详见:https://leetcode.com/problems/encode-and-decode-tinyurl/description/ C++: class Solution { public ...
- rtos概要
一 RTOS如何调试: 静态调试帮不上忙,因为嵌入式系统都是动态系统 ,要借助基于RTOS系统的可视化分析 :Micriµm 的 µC/Probe ,SEGGER 的 SystemView ,Perc ...
- Rasheda And The Zeriba Gym - 100283A 计算几何
http://codeforces.com/gym/100283/problem/A 考虑到多边形是不稳定的,是可以变来变去的. 那么总是可以把每个点放到圆上. 所以只需要判断圆心角是不是小于等于36 ...