我只是查看SpringBoot-Cache-sample(https://spring.io/guides/gs/caching/),想知道如何检测到缓存Book对象。
要检索的对象由构造器的“ Book”类实例化:
using System; using System.Xml.Linq; using System.Xml.XPath; public class Program { public static void Main() { string _xml = @"<Test xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchemS-instance' xmlns:user='urn:my-scripts' xmlns:msxsl='urn:schemas-microsoft-com:xslt'> <FeedTest> <ActionId xsi:nil='true' /> <ReplyToMessageId>12345</ReplyToMessageId> <Source>PAPER</Source> <Condition /> <FixingRate xsi:nil='true' /> <CatsId>TAAH20181105X0000579</CatsId> </FeedTest> </Test>"; XDocument doc = XDocument.Parse(_xml); var catIdText = doc.Root.Element("FeedTest").Element("CatsId").Value; Console.WriteLine(catIdText); // update or use XPath to update... doc.Root.Element("FeedTest").Element("CatsId").Value = catIdText+"Happy day"; //doc.XPathSelectElement("//Test/FeedTest/CatsId").Value =catIdText+"Happy day"; var catIdUpdatedText = doc.Root.Element("FeedTest").Element("CatsId").Value; Console.WriteLine(catIdUpdatedText); // save it again: string filePath = @"C:\FileMessageTemplates\Outright\"; //File path string path = Path.Combine(filePath ,"First_Test_NEW.xml"); xdoc.Save(path); } }
维护这些对象的类如下:
private String isbn; private String title; public Book(String isbn, String title) { this.isbn = isbn; this.title = title; } @Override public String toString() { return "Book{" + "isbn='" + isbn + '\'' + ", title='" + title + '\'' + '}'; }
每个对象都是“新的”。似乎有一个包装器,在内部将返回值与方法参数作为键进行堆叠。然后再次调用该堆栈,然后才真正运行该方法。
我解释这个权利吗?
但是我该如何摆脱不再想要的对象呢?我需要使用@Cacheable(“ books”)-注释重新实例化持有该方法的类吗?
答案 0 :(得分:0)
是的,我的解释是正确的。本来可以看看JavaDoc。抱歉。