Spring 是一个开源框架, Spring 是 2003 年兴起的一个轻量级 java 开发框架。框架的主要优势是分层架构,其允许使用者选择使用哪一个组件,Spring 的核心是控制反转 (IOC)和 面向切面编程(AOP),划重点:
IOC 控制反转,原本需要自行创建和维护的 bean(可以理解为各种类) 交给 Spring 管理。控制反转的一种途径是通过依赖注入。
DI 依赖注入,Spring 按照配置规则(注解 or xml 文件)将依赖的内容注入给指定的 bean
AOP 面向切面,在调用对象的某个方法时,执行插入的切面逻辑。实现的方式
经典应用:事务管理,性能监控,缓存,日志,安全检查等
好奇宝宝体质,研究了下如何基于 idea 创建一个 spring service 服务
点击:File -> New -> Project 然后按照下图创建项目
注意:此处有坑,请确认 {user_directory}.m2/ *.xml 配置的镜像地址可用,以下配置可用,亲测有效!
/?/?/.m2/repository
要修改为正确的路径
/?/?/.m2/repository
true
false
false
nexus-aliyun
central
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public/
default
true
1.8
spring-milestone
Spring Milestone Repository
http://repo.spring.io/milestone
true
false
default
spring-snapshot
Spring Snapshot Repository
http://repo.spring.io/snapshot
false
true
default
请用力戳这里 -> idea新建maven项目没有src目录的操作方法
请用力戳这里 -> intelliJ idea新建maven项目没有resource文件夹
在 pom.xml 文件增加
org.springframework
spring-context
4.2.6.RELEASE
代码戳这里
了解下 spring 在服务器开发中所处的位置,其中也包含了其他主流的框架在服务器开发的所处位置:
阿里的编程规范中约束的分层如下:
终端显示层:各个端的模板渲染并执行显示的层。包括 JS 渲染,移动端展示等。
开放接口层:
进行网关安全控制、流量控制等。
Web 层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。
Service 层:相对具体的业务逻辑服务层。
Manager 层:通用业务处理层
DAO 层:数据访问层,与底层 MySQL、Hbase 进行数据交互
在经历加一个接口要改 30 个文件的「刻骨铭心」的记忆以后,我开始思考,真的需要这么多层嘛?
「分层一时爽,写起来火葬场」为了能过契合上面的分层模型,定义了太多没有实际使用价值的类,写起来不仅繁琐,简直阻碍了我对 java 这门语言的热爱,这么美好的人生全部都浪费在定义类上,我想说「人间不值得」……
你以为我会说怎么正确的分层嘛?不,我不会,毕竟作为 java 小白选手,还是很有自知之明的,不过个人觉得分层这种东西,还是要「分场景」处理的,不能一概而论,要根据自己业务做合适的调整。
「别人给的都是建议,请自己做选择」(ps 毒鸡汤上线
港真,概念真没什么好说的,自己看看就知道是什么意思了,但是知道这些概念能够让你快速上手新项目(ps 不要问我怎么知道的……
领域模型命名规范:
本来打算把图解上面的内容都写好的,但是为了更好的阅读体验还是分为上下两个步骤比较合适,比较太长的文章读起来往往让人昏昏欲睡