Spring4.X体系结构与新特性

Spring4.x的体系结构

1.IOC
它将类与类之间的依赖剥离出来,实现通过注解配置的方式进行依赖类之间的创建、拼接、管理和获取等工作。
2.AOP
启用一个代理类,对类的功能进行加强的横切逻辑思想。
3.数据访问与集成
集成了springJDBC,整合持久层框架。
4.web远程操作
例如上传文件等功能
5.web远程访问
例如springMVC
6.webSocket

Spring4.0新特性

1.全面支持jdk8

1.Lambda表达式
2.LocalDate
	@GetMapping("/")
    public void test(@@DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate localDate) {
		//pass
    }
3.重复注解支持
	/**
	 * @author limc
	 */
	public class TestController {
	
	    @Target(ElementType.TYPE)
	    @Retention(RetentionPolicy.RUNTIME)
	    @interface Filters {
	        Filter[] value();
	    }
	
	    @Repeatable(Filters.class) // 保存注解的容器
	    @Target(ElementType.TYPE)
	    @Retention(RetentionPolicy.RUNTIME)
	    @interface Filter {
	        String value();
	    }
	
	    @Filter("123")
	    @Filter("456")
	    @Filter("789")
	    class Main{
	
	    }
	
	    public static void main(String[] args) {
	        Filters p2=Main.class.getAnnotation(Filters.class);
	        for(Filter t:p2.value()){
	            System.out.println(t.value());
	        }
	
	    }
	}
4.Optional<>
	private final Optional<ArticleService> op;
    @Autowired
    public ArticleController(Optional<ArticleService> op) {
        this.op = op;
    }
    public void test() {
        op.ifPresent(service -> service.addOneArticle(new UserEntity(), new JSONObject()));
    }

2.核心容器增强

1.泛型依赖注入
		class BaseDao<T>{
	
	    }
	
	    @Component
	    class UserDao extends BaseDao<User> {
	
	    }
	
	    @Component
	    class TypeDao extends BaseDao<Type> {
	
	    }
	
	    class BaseService<T> {
	        @Autowired
	        BaseDao<T> baseDao;
	        public void get() {
	            System.out.println(baseDao);
	        }
	    }
	
	    class UserService extends BaseService<User> {
	
	    }
	    class TypeService extends BaseService<Type> {
	
	    }
	
	    public static void main(String[] args) {
	        @Autowired
	        UserService userService;
	
	        @Autowired
	        TypeService typeService;
	    }

2.懒加载
@Lazy
容器启动时不注入,使用时在注入
3.List注入
//可以根据@order注解 进行排序
@Autowired
List<UserService> list
3.支持Groovy定义Bean
4.Web增强

```java
// 引入@RestController
@RestController 默认不需要加@ResponseBody
// 引入AsynRestTemplate
异步调用

5.支持WebSocket
6.测试增强

@Sql
// TODO

7.其他
增强持久化处理
增强动态语言支持
增强多线程并发处理

总结

IOC和AOP是spring所依赖的根本。

--------------------------------------------------------华丽的分割线-------------------------------------------------

以上只是本人观点,如有错误,欢迎指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值